资源描述:
《实现存储过程和函数》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章实现存储过程和函数SQLServer2005数据库开发与实现第1章:SQLServer2005启航第2章:安装和配置SQLServer2005第3章:创建数据库和数据库文件第4章:创建数据类型和表第5章:使用Transact-SQL查询数据库第6章:创建和优化索引第7章:实现数据完整性第8章:实现视图第9章:实现存储过程和函数第10章:使用XML第11章:灾难恢复第12章:管理安全性第13章:监视SQLServer第14章:维持高可用性第15章:自动执行管理任务第16章:使用ServiceBroker第17章:传输数据第18章:
2、复制功能简介第9章:实现存储过程和函数实现存储过程创建参数化存储过程创建函数处理错误控制执行上下文实验习题存储过程概述包含在数据库中执行操作的语句接受输入参数状态值返回给指示成功或失败以输出参数的形式将多个值返回到发起调用的存储过程或客户端应用程序9.1.1存储过程概述创建存储过程的语法使用CREATEPROCEDURE语句在当前数据库中创建存储过程使用EXECUTE运行存储过程CREATEPROCEDUREProduction.LongLeadProductsASSELECTName,ProductNumberFROMProduct
3、ion.ProductWHEREDaysToManufacture>=1GOEXECUTEProduction.LongLeadProducts9.1.2创建存储过程的语法限定存储过程所引用的对象名称创建存储过程的准则ü每个任务创建一个存储过程ü创建,测试存储过程,并对其进行故障诊断ü存储过程名称避免使用sp_前缀ü对所有存储过程使用相同的连接设置ü尽可能减少临时存储过程的使用ü9.1.3创建存储过程的准则修改和删除存储过程修改存储过程删除存储过程ALTERPROCProduction.LongLeadProductsASSELECT
4、Name,ProductNumber,DaysToManufactureFROMProduction.ProductWHEREDaysToManufacture>=1ORDERBYDaysToManufactureDESC,NameGODROPPROCProduction.LongLeadProducts9.1.4修改和删除存储过程第9章:实现存储过程和函数实现存储过程创建参数化存储过程创建函数处理错误控制执行上下文实验习题输入参数提供合适的默认值验证输入的参数值,包括空值检查ALTERPROCProduction.LongLeadP
5、roducts@MinimumLengthint=1--defaultvalueASIF(@MinimumLength<0)--validateBEGINRAISERROR('Invalidleadtime.',14,1)RETURNENDSELECTName,ProductNumber,DaysToManufactureFROMProduction.ProductWHEREDaysToManufacture>=@MinimumLengthORDERBYDaysToManufactureDESC,NameEXECProduction.
6、LongLeadProducts@MinimumLength=49.2.1输入参数CREATEPROCHumanResources.AddDepartment@Namenvarchar(50),@GroupNamenvarchar(50),@DeptIDsmallintOUTPUTASINSERTINTOHumanResources.Department(Name,GroupName)VALUES(@Name,@GroupName)SET@DeptID=SCOPE_IDENTITY()DECLARE@deptintEXECAddDep
7、artment'Refunds','',@deptOUTPUTSELECT@dept输出参数和返回值CREATEPROCHumanResources.AddDepartment@Namenvarchar(50),@GroupNamenvarchar(50),@DeptIDsmallintOUTPUTASIF((@Name='')OR(@GroupName=''))RETURN-1INSERTINTOHumanResources.Department(Name,GroupName)VALUES(@Name,@GroupName)SET@
8、DeptID=SCOPE_IDENTITY()RETURN0DECLARE@deptint,@resultintEXEC@result=AddDepartment'Refunds','',@deptOUTPUTIF(@r