《存储过程》PPT课件.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《存储过程》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《存储过程》PPT课件.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8 8章章 存储过程存储过程使用使用SQL Server创建应用程序时,创建应用程序时,SQL编程语言是编程语言是应用程序和应用程序和SQL Server数据库之间的主要编程接口。使用数据库之间的主要编程接口。使用SQL程序时,可用两种方法存储和执行程序。程序时,可用两种方法存储和执行程序。可以将程序存储在本地,并创建向可以将程序存储在本地,并创建向SQL Server发送命发送命令并处理结果的应用程序。令并处理结果的应用程序。也可以将程序作为存储过程存储在也可以将程序作为存储过程存储在SQL Server中,并中,并创建执行存储过程并处理结果的应用程序。创建执行存储过程并处理结果的应用程
2、序。8.1 8.1 了解存储过程了解存储过程在在SQL Server中有多种可用的存储过程:系统存储过中有多种可用的存储过程:系统存储过程,用户自定义的存储过程和扩展存储过程。本节了解这程,用户自定义的存储过程和扩展存储过程。本节了解这些存储过程的作用和用法。些存储过程的作用和用法。8.1.1 8.1.1 存储过程的作用存储过程的作用存储过程类似于程序中的一个方法,方法中可以包含存储过程类似于程序中的一个方法,方法中可以包含多行代码。存储过程也是封装多条多行代码。存储过程也是封装多条SQL语句的方法。开发语句的方法。开发人员可以在以下情况下使用存储过程。人员可以在以下情况下使用存储过程。(1)
3、包含输入参数和输出参数,执行多个批处理语)包含输入参数和输出参数,执行多个批处理语句。句。(2)包含多条)包含多条SQL语句,用来控制或操作数据库。语句,用来控制或操作数据库。(3)向调用程序返回状态值,以指示成功或失败,)向调用程序返回状态值,以指示成功或失败,如果失败,还给出失败的原因。如果失败,还给出失败的原因。8.1.2 8.1.2 存储过程的种类存储过程的种类存储过程主要分为:用户定义的存储过程、扩展存储存储过程主要分为:用户定义的存储过程、扩展存储过程和系统存储过程。过程和系统存储过程。1用户定义的存储过程用户定义的存储过程2扩展存储过程扩展存储过程3系统存储过程系统存储过程8.2
4、 8.2 创建存储过程创建存储过程可以使用可以使用SQL Server Management Studio中的对象中的对象资源管理器创建资源管理器创建SQL存储过程,也可以使用存储过程,也可以使用SQL语句语句CREATE PROCEDURE来创建存储过程。因为还没有详细来创建存储过程。因为还没有详细介绍介绍SQL语句,所以本节主要介绍使用语句,所以本节主要介绍使用SQL Server Management Studio来创建存储过程。来创建存储过程。创建存储过程时,应指定:创建存储过程时,应指定:所有输入参数和返回的输出参数。所有输入参数和返回的输出参数。执行数据库操作(包括调用其他过程)的
5、编程语句。执行数据库操作(包括调用其他过程)的编程语句。返回至调用过程以标识成功或失败的状态值。返回至调用过程以标识成功或失败的状态值。捕获和处理潜在的错误所需的任何错误处理语句。捕获和处理潜在的错误所需的任何错误处理语句。8.2.1 8.2.1 命名存储过程命名存储过程因为默认的系统存储过程是以因为默认的系统存储过程是以sp_开头,所以在创建开头,所以在创建存储过程时要注意,前缀可以是公司简介、数据库简称等,存储过程时要注意,前缀可以是公司简介、数据库简称等,尽量不要用尽量不要用sp。如果用户自定义的存储过程与系统存储过。如果用户自定义的存储过程与系统存储过程名称相同,则该存储过程将永远不会
6、执行,系统始终执程名称相同,则该存储过程将永远不会执行,系统始终执行的是系统存储过程。行的是系统存储过程。8.2.2 8.2.2 用用SQL Server Management StudioSQL Server Management Studio创创建存储过程建存储过程本节介绍如何使用本节介绍如何使用SQL Server Management Studio中的对象资源管理器创建中的对象资源管理器创建SQL存储过程,并提供一个在存储过程,并提供一个在AdventureWorks数据库中创建简单存储过程的示例。数据库中创建简单存储过程的示例。1创建存储过程创建存储过程2创建存储过程的示例创建存储过
7、程的示例8.3 8.3 执行存储过程执行存储过程若要执行存储过程,可以使用若要执行存储过程,可以使用EXECUTE语句。如果语句。如果存储过程是批处理中的第一条语句,那么不使用存储过程是批处理中的第一条语句,那么不使用EXECUTE也可以执行存储过程。也可以执行存储过程。8.3.1 8.3.1 执行系统存储过程执行系统存储过程系统存储过程以字符系统存储过程以字符sp_开头,笔者建议使用开头,笔者建议使用sys架构架构名称对所有系统存储名称进行限定,以防止名称冲突。以名称对所有系统存储名称进行限定,以防止名称冲突。以下示例说明执行系统存储过程的推荐方法。下示例说明执行系统存储过程的推荐方法。EX
8、EC sys.sp_who;8.3.2 8.3.2 执行用户定义存储过程执行用户定义存储过程执行用户定义存储过程时,笔者建议至少用架构名称执行用户定义存储过程时,笔者建议至少用架构名称限定存储过程名称。以下示例说明执行用户定义存储过程限定存储过程名称。以下示例说明执行用户定义存储过程的推荐方法。的推荐方法。USE AdventureWorks;GOEXEC dbo.uspGetEmployeeManagers 50;或者:或者:EXEC AdventureWorks.dbo.uspGetEmployeeManagers 50;GO8.3.3 8.3.3 指定存储过程的参数指定存储过程的参数指定
9、存储过程的参数,通常包括指定参数、指定参数指定存储过程的参数,通常包括指定参数、指定参数顺序和使用参数的默认值。本节将学会使用输入参数和输顺序和使用参数的默认值。本节将学会使用输入参数和输出参数。出参数。如果编写的存储过程允许接受参数,则在执行存储过如果编写的存储过程允许接受参数,则在执行存储过程时,需要为其指定参数。参数值必须是常量或变量,不程时,需要为其指定参数。参数值必须是常量或变量,不能将函数、视图等指定为参数值。变量可以是用户定义变能将函数、视图等指定为参数值。变量可以是用户定义变量或系统变量,如量或系统变量,如id。8.4 8.4 修改和删除存储过程修改和删除存储过程修改和删除存储
10、过程是实现存储过程的重要部分,当修改和删除存储过程是实现存储过程的重要部分,当创建完一个存储过程,可根据系统的需要,而重新进行修创建完一个存储过程,可根据系统的需要,而重新进行修改,甚至在不需要该存储过程的情况下,删除存储过程。改,甚至在不需要该存储过程的情况下,删除存储过程。8.4.1 8.4.1 修改存储过程修改存储过程在在SQL Server Management Studio中使用对象资源中使用对象资源管理器修改管理器修改SQL存储过程的操作步骤如下:存储过程的操作步骤如下:(1)在【对象资源管理器】窗口中,连接到某个数)在【对象资源管理器】窗口中,连接到某个数据库引擎实例,再展开该实
11、例。据库引擎实例,再展开该实例。(2)依次展开【数据库】【存储过程所属的数据)依次展开【数据库】【存储过程所属的数据库】【可编程性】节点。库】【可编程性】节点。(3)展开【存储过程】节点,右击需要修改的存储)展开【存储过程】节点,右击需要修改的存储过程,在弹出的快捷菜单中选择【修改】命令,打开修改过程,在弹出的快捷菜单中选择【修改】命令,打开修改存储过程脚本的窗口。存储过程脚本的窗口。(4)修改存储过程的脚本()修改存储过程的脚本(SQL语句)。语句)。8.4.1 8.4.1 修改存储过程修改存储过程(5)若要测试语法,选择【查询】)若要测试语法,选择【查询】|【分析】命令,【分析】命令,进行
12、语法测试。进行语法测试。(6)若要修改存储过程,选择【查询】)若要修改存储过程,选择【查询】|【执行】命【执行】命令,执行存储过程。令,执行存储过程。(7)若要保存脚本,选择【文件】)若要保存脚本,选择【文件】|【保存】命令,【保存】命令,完成脚本修改的保存。完成脚本修改的保存。(8)接受文件名或使用新名称替换之,再单击【保)接受文件名或使用新名称替换之,再单击【保存】按钮,完成存储过程的修改。存】按钮,完成存储过程的修改。8.4.2 8.4.2 删除存储过程删除存储过程不需要存储过程时可将其删除,如果数据库中还有另不需要存储过程时可将其删除,如果数据库中还有另一个存储过程调用了已被删除的存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储过程 存储 过程 PPT 课件
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内