成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SQL Server函數的兩種實際用法

數據庫 SQL Server
今天我們要和大家一起討論的是SQL Server函數的兩種實際用法,以及對其在實際應用中要用到的代碼的介紹,以下就是文章的主要內容描述。

下面的文章主要分析的是 SQL Server函數的兩種實際用法,以及對其在實際應用中我們經常能用到代碼的介紹,以下就是SQL Server函數的兩種實際用法具體的描述,希望在你今后的學習中會有所幫助。

SQL Server函數的兩種用法(可以代替游標)

 

分析 SQL Server里函數用法1. 因為update里不能用存儲過程,然而要根據更新表的某些字段還要進行計算。我們常常采用游標的方法,這里用函數的方法實現。

 

函數部分:

以下是引用片段:

 

  1. CREATE FUNCTION [DBO].[FUN_GETTIME] (@TASKPHASEID INT)   
  2. RETURNS FLOAT AS   
  3. BEGIN   
  4. DECLARE @TASKID INT,   
  5. @HOUR FLOAT,   
  6. @PERCENT FLOAT,   
  7. @RETURN FLOAT   
  8. IF @TASKPHASEID IS NULL   
  9. BEGIN   
  10. RETURN(0.0)   
  11. END   
  12. SELECT @TASKIDTASKID=TASKID,@PERCENT=ISNULL(WORKPERCENT,0)/100   
  13. FROM TABLETASKPHASE   
  14. WHERE ID=@TASKPHASEID   
  15. SELECT @HOUR=ISNULL(TASKTIME,0) FROM TABLETASK   
  16. WHERE ID=@TASKID   
  17. SET @RETURN=@HOUR*@PERCENT   
  18. RETURN (@RETURN)   
  19. END  

 

 

調用函數的存儲過程部分

以下是引用片段:

 

  1. CREATE PROCEDURE [DBO].[PROC_CALCCA]   
  2. @ROID INT   
  3. AS   
  4. BEGIN   
  5. DECLARE @CA FLOAT   
  6. UPDATE TABLEFMECA   
  7. SET   
  8. Cvalue_MISNULL(MODERATE,0)*ISNULL(FMERATE,0)*ISNULL(B.BASFAILURERATE,0)*[DBO].[FUN_GETTIME](C.ID)   
  9. FROM TABLEFMECA ,TABLERELATION B,TABLETASKPHASE C   
  10. WHERE ROID=@ROID AND TASKPHASEID=C.ID AND B.ID=@ROID   
  11. SELECT @CA=SUM(ISNULL(Cvalue_M,0)) FROM TABLEFMECA WHERE ROID=@ROID   
  12. UPDATE TABLERELATION   
  13. SET CRITICALITY=@CA   
  14. WHERE ID=@ROID   
  15. END   
  16. GO  

 

分析 SQL Server函數用法2. 我們要根據某表的某些記錄,先計算后求和,因為無法存儲中間值,平時我們也用游標的方法進行計算。但sqlserver2000里支持

 

 

  1. SUM ( [ ALL | DISTINCT ] expression )  
  2. expression  

 

 

是常量、列或函數,或者是算術、按位與字符串等運算符的任意組合。因此我們可以利用這一功能。

 

函數部分:

以下是引用片段:

 

  1. CREATE FUNCTION [DBO].[FUN_RATE] (@PARTID INT,@ENID INT,@SOURCEID INT, @QUALITYID INT,@COUNT INT)   
  2. RETURNS FLOAT AS   
  3. BEGIN   
  4. DECLARE @QXS FLOAT, @G FLOAT, @RATE FLOAT   
  5. IF (@ENID=NULL) OR (@PARTID=NULL) OR (@SOURCEID=NULL) OR (@QUALITYID=NULL)   
  6. BEGIN   
  7. RETURN(0.0)   
  8. END   
  9. SELECT @QXSISNULL(XS,0) FROM TABLEQUALITY WHERE ID=@QUALITYID   
  10. SELECT @G=ISNULL(FRATE_G,0) FROM TABLEFAILURERATE   
  11. WHERE (SUBKINDID=@PARTID) AND( ENID=@ENID) AND ( DATASOURCEID=@SOURCEID) AND
    ( ( (ISNULL(MINCOUNT,0)
    <=ISNULL(@COUNT,0)) AND ( ISNULL(MAXCOUNT,0)>=ISNULL(@COUNT,0)))   
  12. OR(ISNULL(@COUNT,0)>ISNULL(MAXCOUNT,0)))   
  13. SET @RATE=ISNULL(@QXS*@G,0)   
  14. RETURN (@RATE)   
  15. END  

 

 

調用函數的存儲過程部分:

以下是引用片段:

 

  1. CREATE PROC PROC_FAULTRATE   
  2. @PARTID INTEGER, @QUALITYID INTEGER, @SOURCEID INTEGER, @COUNT INTEGER, @ROID INT, @GRADE INT,@RATE FLOAT=0 OUTPUTAS   
  3. BEGIN   
  4. DECLARE   
  5. @TASKID INT   
  6. SET @RATE=0.0   
  7. SELECT @TASKID=ISNULL(TASKPROID,-1) FROM TABLERELATION WHERE ID=(SELECT PID FROM TABLERELATION WHERE ID=@ROID)   
  8. IF (@TASKID=-1) OR(@GRADE=1) BEGIN   
  9. SET @RATE=0   
  10. RETURN   
  11. END   
  12. SELECT @RATE=SUM([DBO].[FUN_RATE] (@PARTID,ENID,@SOURCEID, @QUALITYID,@COUNT) *ISNULL(WORKPERCENT,0)/100.0)   
  13. FROM TABLETASKPHASE   
  14. WHERE TASKID=@TASKID   
  15. END   
  16. GO  

 

 

函數還可以返回表等,希望大家一起討論sqlserver里函數的妙用。以上的相關內容就是對分析 SQL Server函數用法的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server分布式數據庫的優點與缺點
  2. SQL Server 分布式數據庫的2種不同系統
  3. 造成SQL Server查詢速度慢的10種原因
  4. 造成SQL Server查詢速度慢的原因與優化
  5. 三種SQL Server 恢復模式的比較
責任編輯:佚名 來源: 賽迪網
相關推薦

2010-07-08 10:38:24

MS SQL Serv

2010-10-21 16:24:18

sql server升

2010-10-20 15:48:56

SQL Server許

2010-11-12 11:48:15

2010-09-06 17:26:54

SQL函數

2010-10-21 16:38:27

sql server文

2009-11-23 14:09:53

PHP的foreach

2010-07-20 15:24:27

MS SQL Serv

2010-11-24 08:54:33

2010-08-11 14:22:26

Flex彈出窗口

2009-04-03 09:00:20

SQL Server2005用戶

2011-04-06 11:05:21

SQL Server數交換數據

2010-07-19 14:07:09

Perl ->符號

2010-07-13 15:39:23

SQL Server

2010-07-15 14:38:55

Perl eval函數

2010-10-25 10:31:51

Oracle函數

2024-02-04 09:24:45

MyBatisSQL語句Spring

2010-08-13 12:54:20

Flex彈出窗口

2010-09-13 13:05:03

sql server分

2010-11-10 13:22:41

SQL Server備
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久产久精国产品 | 国产 欧美 日韩 一区 | 老司机深夜福利网站 | www国产亚洲精品久久网站 | 成人av免费网站 | 国产精品夜间视频香蕉 | 欧美精品一区在线 | 久草网址 | 欧美视频在线一区 | 午夜免费视频 | 最新中文字幕第一页视频 | 国产免费看 | 成人免费影院 | 亚洲综合日韩精品欧美综合区 | 亚洲国产日韩欧美 | 午夜在线电影网 | 91久久久精品国产一区二区蜜臀 | www久久爱 | 久久久久国产精品 | 国产精品毛片av一区 | 国产精品日本一区二区在线播放 | 精品三级在线观看 | 色在线免费视频 | 在线观看中文字幕 | 日韩欧美三级 | 四虎在线观看 | 综合久久综合久久 | 中文字幕国产精品 | 日韩一区二区久久 | 欧美日韩精品中文字幕 | 国产日韩欧美激情 | 淫片一级国产 | 天堂中文资源在线 | 精品国产乱码久久久 | 一级黄a视频 | 国产综合在线视频 | 亚洲精品国产电影 | 欧州一区 | 一区二区三区视频在线观看 | 欧洲一区视频 | 美女在线国产 |