实验五 创建函数、存储过程、触发器

实验五 创建函数、存储过程、触发器

ID:6165487

大小:1.75 MB

页数:10页

时间:2018-01-05

实验五 创建函数、存储过程、触发器_第1页
实验五 创建函数、存储过程、触发器_第2页
实验五 创建函数、存储过程、触发器_第3页
实验五 创建函数、存储过程、触发器_第4页
实验五 创建函数、存储过程、触发器_第5页
资源描述:

《实验五 创建函数、存储过程、触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验五创建函数、存储过程、触发器一、目标完成这个实验后,你将能够:1、创建函数2、创建存储过程二、实验内容安装Northwind数据库。安装library数据库。练习1:创建函数1、创建标量函数,返回指定产品(给定ProductID)的销售总量。CREATEFUNCTIONufnGetSell(@ProductIDint)RETURNSintBEGINDECLARE@retint;SELECT@ret=SUM(OD.Quantity)FROM[OrderDetails]ODWHEREProductID=@Produ

2、ctIDIF(@retISNULL)SET@ret=0RETURN@retENDSELECTProductID,dbo.ufnGetSell(ProductID)FROMdbo.[OrderDetails]2、在前面设计的标量函数中,增加ENCRYPTION及SCHEMABINDING选项,验证该选项含义。加密:ALTERFUNCTIONufnGetSell(@ProductIDint)RETURNSintWITHENCRYPTIONBEGINDECLARE@retint;SELECT@ret=SUM(OD.Qua

3、ntity)FROM[OrderDetails]ODWHEREProductID=@ProductIDIF(@retISNULL)SET@ret=0RETURN@retEND架构绑定:ALTERFUNCTIONufnGetSell(@ProductIDint)RETURNSintWITHSCHEMABINDINGBEGINDECLARE@retint;SELECT@ret=SUM(OD.Quantity)FROMdbo.[OrderDetails]ODWHEREProductID=@ProductIDIF(@ret

4、ISNULL)SET@ret=0RETURN@retEND1、调用该函数,输出每种产品的编号、名称及销售总量(TotalSale)。SELECTOD.ProductID,ProductName,dbo.ufnGetSell(OD.ProductID)TotalSaleFROMdbo.[OrderDetails]ODJOINdbo.ProductsPONOD.ProductID=P.ProductIDGROUPBYOD.ProductID,ProductName1、创建内联表值函数,返回指定供应商(给定Supplie

5、rID)供应产品的编号、名称及销售总量。CREATEFUNCTIONdbo.fnSales(@SupplierIDint)RETURNSTABLERETURN(SELECTS.SupplierID,P.ProductID,ProductName,SUM(OD.Quantity)TotalSaleFROMSuppliersSJOINProductsPONS.SupplierID=P.SupplierIDJOIN[OrderDetails]ODONOD.ProductID=P.ProductIDWHERES.Suppl

6、ierID=@SupplierIDGROUPBYS.SupplierID,P.ProductID,ProductName)2、调用该函数,输出11号供应商供应产品的编号、名称及销售总量。SELECT*FROMdbo.fnSales(11)3、在AdventureWorks数据库中,创建多语句表值函数ufnGetContactInformation(文件ufnGetContactInformation.txt),读懂该脚本。CREATEFUNCTION[dbo].[ufnGetContactInformation](

7、@ContactIDint)RETURNS@retContactInformationTABLE(--Columnsreturnedbythefunction[ContactID]intPRIMARYKEYNOTNULL,[FirstName][nvarchar](50)NULL,[LastName][nvarchar](50)NULL,[JobTitle][nvarchar](50)NULL,[ContactType][nvarchar](50)NULL)AS--Returnsthefirstname,lastn

8、ame,jobtitleandcontacttypeforthespecifiedcontact.BEGINDECLARE@FirstName[nvarchar](50),@LastName[nvarchar](50),@JobTitle[nvarchar](50),@ContactType[nvarchar](50);--Getcommoncontacti

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。