实现存储过程和函数.ppt
《实现存储过程和函数.ppt》由会员分享,可在线阅读,更多相关《实现存储过程和函数.ppt(35页珍藏版)》请在三一办公上搜索。
1、第9章实现存储过程和函数,SQL Server 2005数据库开发与实现,第1章:SQL Server 2005启航第2章:安装和配置SQL Server 2005第3章:创建数据库和数据库文件第4章:创建数据类型和表第5章:使用Transact-SQL查询数据库第6章:创建和优化索引第7章:实现数据完整性第8章:实现视图第9章:实现存储过程和函数,第10章:使用 XML第11章:灾难恢复第12章:管理安全性第13章:监视 SQL Server第14章:维持高可用性第15章:自动执行管理任务第16章:使用 Service Broker第17章:传输数据第18章:复制功能简介,第9章:实现存储过
2、程和函数,实现存储过程 创建参数化存储过程 创建函数 处理错误 控制执行上下文 实验习题,存储过程概述,包含在数据库中执行操作的语句接受输入参数状态值返回给指示成功或失败以输出参数的形式将多个值返回到发起调用的存储过程或客户端应用程序,9.1.1 存储过程概述,创建存储过程的语法,使用CREATE PROCEDURE语句在当前数据库中创建存储过程使用 EXECUTE 运行存储过程,CREATE PROCEDURE Production.LongLeadProductsAS SELECTName,ProductNumber FROMProduction.Product WHEREDaysToMa
3、nufacture=1GO,EXECUTE Production.LongLeadProducts,9.1.2 创建存储过程的语法,限定存储过程所引用的对象名称,创建存储过程的准则,每个任务创建一个存储过程,创建,测试存储过程,并对其进行故障诊断,存储过程名称避免使用 sp_ 前缀,对所有存储过程使用相同的连接设置,尽可能减少临时存储过程的使用,9.1.3 创建存储过程的准则,修改和删除存储过程,修改存储过程删除存储过程,ALTER PROC Production.LongLeadProductsASSELECTName,ProductNumber,DaysToManufactureFROMP
4、roduction.ProductWHEREDaysToManufacture=1ORDER BY DaysToManufacture DESC,NameGO,DROP PROC Production.LongLeadProducts,9.1.4 修改和删除存储过程,第9章:实现存储过程和函数,实现存储过程 创建参数化存储过程 创建函数 处理错误 控制执行上下文 实验习题,输入参数,提供合适的默认值验证输入的参数值,包括空值检查,ALTER PROC Production.LongLeadProducts MinimumLength int=1-default valueASIF(Minimu
5、mLength=MinimumLengthORDER BY DaysToManufacture DESC,Name,EXEC Production.LongLeadProducts MinimumLength=4,9.2.1 输入参数,CREATE PROC HumanResources.AddDepartment Name nvarchar(50),GroupName nvarchar(50),DeptID smallint OUTPUTASINSERT INTO HumanResources.Department(Name,GroupName)VALUES(Name,GroupName)S
6、ET DeptID=SCOPE_IDENTITY(),DECLARE dept intEXEC AddDepartment Refunds,dept OUTPUTSELECT dept,输出参数和返回值,CREATE PROC HumanResources.AddDepartment Name nvarchar(50),GroupName nvarchar(50),DeptID smallint OUTPUTASIF(Name=)OR(GroupName=)RETURN-1INSERT INTO HumanResources.Department(Name,GroupName)VALUES(N
7、ame,GroupName)SET DeptID=SCOPE_IDENTITY()RETURN 0,DECLARE dept int,result intEXEC result=AddDepartment Refunds,dept OUTPUTIF(result=0)SELECT deptELSESELECT Error during insert,9.2.2 输出参数和返回值,课堂练习:创建参数化的存储过程,本次练习的目标是创建一个接受输入参数并将输出参数与成功或失败标志一起返回的存储过程。创建存储过程的语法及准则创建简单存储过程创建接受输入参数的存储过程创建接受输出参数和返回值的存储过程修
8、改和删除存储过程,第9章:实现存储过程和函数,实现存储过程 创建参数化存储过程 创建函数 处理错误 控制执行上下文 实验习题,函数类型,标量函数与内置函数相似返回一个值内联表值函数与带有参数的视图相似返回一个表,该表是单个SELECT 语句的结果多语句表值函数与存储过程相似 返回一个新表,该表是INSERT语句的结果,9.3.1 函数类型,标量函数,RETURNS 子句指定数据类型函数在BEGIN END 块中定义允许相同数据类型的标量表达式在任何地方进行调用,CREATE FUNCTION Sales.SumSold(ProductID int)RETURNS int AS BEGINDEC
9、LARE ret intSELECT ret=SUM(OrderQty)FROM Sales.SalesOrderDetail WHERE ProductID=ProductID IF(ret IS NULL)SET ret=0RETURN retEND,SELECT ProductID,Name,Sales.SumSold(ProductID)AS SumSoldFROM Production.Product,9.3.2 标量函数,内联表值函数,RETURNS 指定表为返回的数据类型结果集定义了返回变量的格式 函数的内容是一个SELECT 语句,CREATE FUNCTION HumanRe
10、sources.EmployeesForManager(ManagerId int)RETURNS TABLEASRETURN(SELECTFirstName,LastNameFROM HumanResources.Employee Employee INNER JOINPerson.Contact Contact ON Employee.ContactID=Contact.ContactIDWHERE ManagerID=ManagerId),SELECT*FROM HumanResources.EmployeesForManager(3)-ORSELECT*FROM HumanResour
11、ces.EmployeesForManager(6),9.3.3 内联表值函数,多语句表值函数,RETURNS 指定了表为返回值类型并定义了结构BEGIN END 块界定了函数的主体,CREATE FUNCTION HumanResources.EmployeeNames(format nvarchar(9)RETURNS tbl_Employees TABLE(EmployeeID int PRIMARY KEY,Employee Name nvarchar(100)ASBEGINIF(format=SHORTNAME)INSERT tbl_Employees SELECT Employee
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 存储 过程 函数
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6269612.html