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

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

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

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

◆1. 由于update里不能用存儲(chǔ)過程,并且由于根據(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ǔ)過程部分:

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法存儲(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ǔ)過程部分:

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

標(biāo)簽: Sql Server 數(shù)據(jù)庫
主站蜘蛛池模板: 数控走心机-走心机价格-双主轴走心机-宝宇百科 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 佛山市德信昌电子有限公司 | 北京京云律师事务所| 蓝米云-专注于高性价比香港/美国VPS云服务器及海外公益型免费虚拟主机 | 并离网逆变器_高频UPS电源定制_户用储能光伏逆变器厂家-深圳市索克新能源 | 存包柜厂家_电子存包柜_超市存包柜_超市电子存包柜_自动存包柜-洛阳中星 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 24位ADC|8位MCU-芯易德科技有限公司| 一礼通 (www.yilitong.com)-企业礼品解决方案一站式服务平台 | 海南在线 海南一家 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 宜兴市恺瑞德环保科技有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | HDPE储罐_厂家-山东九州阿丽贝防腐设备 | 车间除尘设备,VOCs废气处理,工业涂装流水线,伸缩式喷漆房,自动喷砂房,沸石转轮浓缩吸附,机器人喷粉线-山东创杰智慧 | 锯边机,自动锯边机,双面涂胶机-建业顺达机械有限公司 | 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 连续密炼机_双转子连续密炼机_连续式密炼机-南京永睿机械制造有限公司 | 长城人品牌官网| 安全阀_弹簧式安全阀_美标安全阀_工业冷冻安全阀厂家-中国·阿司米阀门有限公司 | 学生作文网_中小学生作文大全与写作指导 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 光栅尺_Magnescale探规_磁栅尺_笔式位移传感器_苏州德美达 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 模温机-油温机-电加热导热油炉-工业冷水机「欧诺智能」 | 土壤水分自动监测站-SM150便携式土壤水分仪-铭奥仪器 | 房车价格_依维柯/大通/东风御风/福特全顺/江铃图片_云梯搬家车厂家-程力专用汽车股份有限公司 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 等离子空气净化器_医用空气消毒机_空气净化消毒机_中央家用新风系统厂家_利安达官网 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 河南档案架,档案密集架,手动密集架,河南密集架批发/报价 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | 气胀轴|气涨轴|安全夹头|安全卡盘|伺服纠偏系统厂家-天机传动 |