电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

講解SQL Server數(shù)據(jù)庫(kù)中函數(shù)的使用方法

瀏覽:8日期:2023-11-05 14:02:06
本文主要主要講解了SQL Server數(shù)據(jù)庫(kù)中函數(shù)的兩種用法,具體內(nèi)容請(qǐng)參考下文:

◆1. 由于update里不能用存儲(chǔ)過(guò)程,并且由于根據(jù)更新表的某些字段還要進(jìn)行計(jì)算。所以很多人采用的是游標(biāo)的方法,在這里我們可以用函數(shù)的方法實(shí)現(xiàn)。

函數(shù)部分:

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(0.0)

END

SELECT @TASKID=TASKID,@PERCENT=ISNULL(WORKPERCENT,0)/100

FROM TABLETASKPHASE

WHERE ID=@TASKPHASEID

SELECT @HOUR=ISNULL(TASKTIME,0) FROM TABLETASK

WHERE ID=@TASKID

SET @RETURN=@HOUR*@PERCENT

RETURN (@RETURN)

END

調(diào)用函數(shù)的存儲(chǔ)過(guò)程部分:

CREATE PROCEDURE [DBO].[PROC_CALCCA]

@ROID INT

AS

BEGIN

DECLARE @CA FLOAT

UPDATE TABLEFMECA

SET

Cvalue_M= ISNULL(MODERATE,0)*ISNULL

(FMERATE,0)*ISNULL(B.BASFAILURERATE,0)*[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,0)) FROM TABLEFMECA WHERE ROID=@ROID

UPDATE TABLERELATION

SET CRITICALITY=@CA

WHERE ID=@ROID

END

GO

◆2. 我們要根據(jù)某表的某些記錄,先計(jì)算后求和,因?yàn)闊o(wú)法存儲(chǔ)中間值,平時(shí)我們也用游標(biāo)的方法進(jìn)行計(jì)算。但SQL Server 2000里支持。

SUM ( [ ALL DISTINCT ] eXPression )

expression

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

函數(shù)部分:

CREATE FUNCTION [DBO].[FUN_RATE] (@PARTID INT,

@ENID INT,@SOURCEID INT, @QUALITYID INT,@COUNT INT)

RETURNS FLOAT AS

BEGIN

DECLARE @QXS FLOAT, @G FLOAT, @RATE FLOAT

IF (@ENID=NULL) OR (@PARTID=NULL) OR (@SOURCEID=NULL) OR (@QUALITYID=NULL)

BEGIN

RETURN(0.0)

END

SELECT @QXS= ISNULL(XS,0) FROM TABLEQUALITY WHERE ID=@QUALITYID

SELECT @G=ISNULL(FRATE_G,0) FROM TABLEFAILURERATE

WHERE (SUBKINDID=@PARTID)

AND( ENID=@ENID)

AND ( DATASOURCEID=@SOURCEID)

AND( ( (ISNULL(MINCOUNT,0)<=ISNULL(@COUNT,0))

AND ( ISNULL(MAXCOUNT,0)>=ISNULL(@COUNT,0)))

OR(ISNULL(@COUNT,0)>ISNULL(MAXCOUNT,0)))

SET @RATE=ISNULL(@QXS*@G,0)

RETURN (@RATE)

END

調(diào)用函數(shù)的存儲(chǔ)過(guò)程部分:

CREATE PROC PROC_FAULTRATE

@PARTID INTEGER, @QUALITYID INTEGER,@SOURCEID INTEGER,

@COUNT INTEGER, @ROID INT, @GRADE INT,@RATE FLOAT=0 OUTPUTAS

BEGIN

DECLARE

@TASKID INT

SET @RATE=0.0

SELECT @TASKID=ISNULL(TASKPROID,-1) FROM TABLERELATION

WHERE ID=(SELECT PID FROM TABLERELATION WHERE ID=@ROID)

IF (@TASKID=-1) OR(@GRADE=1) BEGIN

SET @RATE=0

RETURN

END

SELECT @RATE=SUM([DBO].[FUN_RATE]

(@PARTID,ENID,@SOURCEID, @QUALITYID,@COUNT) *ISNULL(WORKPERCENT,0)/100.0)

FROM TABLETASKPHASE

WHERE TASKID=@TASKID

END

GO

主站蜘蛛池模板: 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | 上海办公室装修,办公楼装修设计,办公空间设计,企业展厅设计_写艺装饰公司 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 气动|电动调节阀|球阀|蝶阀-自力式调节阀-上海渠工阀门管道工程有限公司 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 常州减速机_减速机厂家_常州市减速机厂有限公司 | 美国HASKEL增压泵-伊莱科elettrotec流量开关-上海方未机械设备有限公司 | 高精度电阻回路测试仪-回路直流电阻测试仪-武汉特高压电力科技有限公司 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 中细软知识产权_专业知识产权解决方案提供商 | 99文库_实习生实用的范文资料文库站 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 临朐空调移机_空调维修「空调回收」临朐二手空调 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 上海风淋室_上海风淋室厂家_上海风淋室价格_上海伯淋 | 苏州伊诺尔拆除公司_专业酒店厂房拆除_商场学校拆除_办公楼房屋拆除_家工装拆除拆旧 | 层流手术室净化装修-检验科ICU改造施工-华锐净化工程-特殊科室建设厂家 | 北京翻译公司-专业合同翻译-医学标书翻译收费标准-慕迪灵 | 专业生物有机肥造粒机,粉状有机肥生产线,槽式翻堆机厂家-郑州华之强重工科技有限公司 | 丝印油墨_水性油墨_环保油墨油漆厂家_37国际化工 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 烟台条码打印机_烟台条码扫描器_烟台碳带_烟台数据采集终端_烟台斑马打印机-金鹏电子-金鹏电子 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 氧化铝球_高铝球_氧化铝研磨球-淄博誉洁陶瓷新材料有限公司 | 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 轻型地埋电缆故障测试仪,频响法绕组变形测试仪,静荷式卧式拉力试验机-扬州苏电 | 地图标注-手机导航电子地图如何标注-房地产商场地图标记【DiTuBiaoZhu.net】 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 原子吸收设备-国产分光光度计-光谱分光光度计-上海光谱仪器有限公司 |