自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL中用函數(shù)代替游標(biāo)的方法

數(shù)據(jù)庫(kù) SQL Server
如果要根據(jù)更新表的某些字段還要進(jìn)行計(jì)算,經(jīng)常會(huì)采用游標(biāo)的方法,下面將為您介紹在SQL中如何使用函數(shù)代替游標(biāo),供您參考。

下面將為您介紹在SQL中如何使用函數(shù)代替游標(biāo),供您參考,希望對(duì)您學(xué)習(xí)SQL中函數(shù)的使用能夠有所幫助。

因?yàn)閡pdate里不能用存儲(chǔ)過(guò)程,然而要根據(jù)更新表的某些字段還要進(jìn)行計(jì)算。我們常常采用游標(biāo)的方法,這里用函數(shù)的方法實(shí)現(xiàn)。

  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.  
  13. SELECT @TASKIDTASKID=TASKID,@PERCENT=ISNULL(WORKPERCENT,0)/100   
  14. FROM TABLETASKPHASE   
  15. WHERE ID=@TASKPHASEID  
  16.  
  17. SELECT @HOUR=ISNULL(TASKTIME,0) FROM TABLETASK   
  18. WHERE ID=@TASKID  
  19.  
  20. SET @RETURN=@HOUR*@PERCENT  
  21. RETURN (@RETURN)  
  22. END  
  23.  
  24. 調(diào)用函數(shù)的存儲(chǔ)過(guò)程部分  
  25. CREATE PROCEDURE [DBO].[PROC_CALCCA]  
  26. @ROID INT  
  27.   AS  
  28. BEGIN  
  29.   DECLARE @CA FLOAT  
  30.  
  31.   UPDATE TABLEFMECA   
  32.   SET   
  33.   Cvalue_M=    ISNULL(MODERATE,0)*ISNULL(FMERATE,0)*ISNULL(B.BASFAILURERATE,0)*[DBO].[FUN_GETTIME](C.ID)  
  34. FROM TABLEFMECA ,TABLERELATION B,TABLETASKPHASE C  
  35. WHERE ROID=@ROID AND TASKPHASEID=C.ID AND B.ID=@ROID  
  36.  
  37.   SELECT @CA=SUM(ISNULL(Cvalue_M,0)) FROM TABLEFMECA WHERE ROID=@ROID  
  38.  
  39. UPDATE TABLERELATION   
  40.   SET CRITICALITY=@CA  
  41.   WHERE ID=@ROID  
  42. END  
  43. GO  

 

 

 

【編輯推薦】

SQL中CHARINDEX函數(shù)的調(diào)用方法

SQL中的分析函數(shù)

創(chuàng)建SQL函數(shù)的實(shí)例

SQL中一個(gè)很好用的日期格式化函數(shù)

SQL中返回計(jì)算表達(dá)式的函數(shù)

責(zé)任編輯:段燃 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-09-08 09:11:42

SQL游標(biāo)語(yǔ)法

2010-07-14 15:32:28

SQL Server

2010-07-01 14:36:34

SQL Server動(dòng)

2010-07-26 10:59:59

SQL Server游

2010-04-21 15:02:50

Oracle使用游標(biāo)

2010-04-21 15:10:35

Oracle游標(biāo)

2010-05-26 16:41:09

MySQL 游標(biāo)

2022-05-11 15:06:02

MySQL游標(biāo)SQL

2010-05-07 12:07:08

Oracle 多層游標(biāo)

2010-05-06 11:02:26

Oracle游標(biāo)

2010-05-31 17:06:35

MySQL游標(biāo)

2010-09-09 16:40:58

SQL循環(huán)游標(biāo)

2010-11-12 10:31:25

SQL Server游

2010-10-09 16:41:54

MYSQL存儲(chǔ)過(guò)程

2010-09-10 16:24:06

SQL函數(shù)

2010-09-01 15:09:41

DB2動(dòng)態(tài)游標(biāo)

2010-04-21 15:52:45

Oracle游標(biāo)

2011-04-15 13:12:08

DB2游標(biāo)

2011-08-22 14:00:13

SQL Server 游標(biāo)調(diào)用函數(shù)

2010-05-04 09:14:11

Oracle數(shù)據(jù)庫(kù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)