讲解SQL Server数据库中函数的使用方法

 我来答
大沈他次苹0B
2022-11-01 · TA获得超过7326个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:178万
展开全部

  本文主要主要讲解了SQL Server数据库中函数的两种用法 具体内容请参考下文

  ◆ 由于update里不能用存储过程 并且由于根据更新表的某些字段还要进行计算 所以很多人采用的是游标的方法 在这里我们可以用函数的方法实现

  函数部分

  CREATE FUNCTION [DBO] [FUN_GETTIME] (@TASKPHASEID INT)  RETURNS FLOAT AS  BEGIN  DECLARE @TASKID INT   @HOUR FLOAT   @PERCENT FLOAT   @RETURN FLOAT  IF @TASKPHASEID IS NULL  BEGIN  RETURN( )  END  SELECT @TASKID=TASKID @PERCENT=ISNULL(WORKPERCENT )/   FROM TABLETASKPHASE  WHERE ID=@TASKPHASEID  SELECT @HOUR=ISNULL(TASKTIME ) FROM TABLETASK  WHERE ID=@TASKID  SET @RETURN=@HOUR*@PERCENT  RETURN (@RETURN)  END  调用函数的存储过程部分   CREATE PROCEDURE [DBO] [PROC_CALCCA]  @ROID INT  AS  BEGIN  DECLARE @CA FLOAT  UPDATE TABLEFMECA  SET  Cvalue_M= ISNULL(MODERATE )*ISNULL  (FMERATE )*ISNULL(B BASFAILURERATE )*[DBO] [FUN_GETTIME](C ID)  FROM TABLEFMECA TABLERELATION B TABLETASKPHASE C  WHERE ROID=@ROID AND TASKPHASEID=C ID AND B ID=@ROID  SELECT @CA=SUM(ISNULL(Cvalue_M )) FROM TABLEFMECA WHERE ROID=@ROID  UPDATE TABLERELATION  SET CRITICALITY=@CA  WHERE ID=@ROID  END  GO

  ◆ 我们要根据某表的某些记录 先计算后求和 因为无法存储中间值 平时我们也用游标的方法进行计算 但SQL Server 里支持

  SUM ( [ ALL DISTINCT ] eXPression )  expression

  是常量 列或函数 或者是算术 按位与字符串等运算符的任意组合 因此我们可以利用这一功能

  函数部分

lishixinzhi/Article/program/SQLServer/201311/22423

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式