存储过程与触发器 (2).ppt
《存储过程与触发器 (2).ppt》由会员分享,可在线阅读,更多相关《存储过程与触发器 (2).ppt(22页珍藏版)》请在三一办公上搜索。
1、2023/10/11,主讲:王颂华,1,第10章 存储过程与触发器,10.1存储过程概述10.2存储过程的操作10.3创建和执行带参数的存储过程10.4存储过程的重新编译10.5系统存储过程与扩展存储过程10.6案例中的存储过程10.7触发器概述10.8触发器的创建执行10.9触发器的操作10.10嵌套触发器10.11案例中的触发器,2023/10/11,主讲:王颂华,2,第10章 存储过程与触发器,存储过程和触发器是SQL Server数据库系统重要的数据库对象,以SQL Server 2005为后台数据库创建的应用具有重要的应用价值。本章介绍存储过程和触发器的概念、作用和基本操作。,202
2、3/10/11,主讲:王颂华,3,10.1 存储过程概述,10.1.1 存储过程的概念 存储过程是一种数据库,是为了实现某个特定任务,以一个存储单元的形式存储在服务器上的一组T-SQL语句的集合。也可以把存储过程看成是以数据库对象形式存储在SQL Server中的一段程序或函数。存储过程既可以是一些简单的SQL语句,如SELECT*FROM authors,也可以由一系列用来对数据库实现复杂商务规则的SQL语句或控制流语句所组成。,2023/10/11,主讲:王颂华,4,10.1 存储过程概述,10.1.2 存储过程的类型 在SQL Server 2005中,存储过程可以分为三类:用户自定义的
3、存储过程、系统存储过程和扩展存储过程。,2023/10/11,主讲:王颂华,5,10.2.1 创建存储过程10.2.2 执行存储过程10.2.3 查看存储过程10.2.4 修改存储过程10.2.5 删除存储过程,10.2 存储过程的操作,2023/10/11,主讲:王颂华,6,10.2 存储过程的操作,10.2.1 创建存储过程 创建存储过程需要注意:(1)只能在当前数据库中创建存储过程。(2)创建者不仅要有数据库的CREATE PROCEDURE权限,还要有对架构的ALTERA权限。(3)存储过程是数据库对象,其名称必须遵循标识符命名规则。(4)不能将CREATE PROCEDURE语句与其
4、他Transact-SQL语句组合到一个批处理中。(5)创建存储过程时应指定:输入参数和向调用过程或批处理返回的输出参数,执行数据库操作的编程语句,返回调用过程或批处理的状态值。,2023/10/11,主讲:王颂华,7,10.2 存储过程的操作,使用Transact-SQL语句创建存储过程 使用Transact-SQL语句创建存储过程语法格式如下:CREATE PROCEDURE procedure_name;number parameter data_typeVARYING=defaultOUTPUT,n WITHRECOMPILEENCRYPTIONRECOMPILE ENCRYPTION
5、 FOR REPLICATION AS sql_statetion n,2023/10/11,主讲:王颂华,8,10.2 存储过程的操作,使用SQL Server管理平台创建存储过程见课本180页的【例10-2】10.2.2 执行存储过程 对于存储在服务器上的存储过程可使用EXECUTE命令来执行。其语法格式如下:EXECUTE return_status=procedure_name;number procedure_name_var parameter=valuevariableOUTPUT DEFAULT,:n WITH RECOMPLIE,2023/10/11,主讲:王颂华,9,10.
6、2 存储过程的操作,10.2.3 查看存储过程 存储过程创建好后,其名称保存在系统表sysobjects中,其源代码保存在syscomments中,再通过ID字段进行关联。如果需要查看存储过程的相关信息,可以直接使用系统表,也可以使用系统的存储过程,还可以使用SQL Server管理平台。10.2.4 修改存储过程 当存储过程所依赖的基本表发生变化或用户有需要时,可以对 存储过程的定义或参数进行修改,修改通过执行CREATE PROCEDURE语句创建过程,不会改变权限,也不影响相关的存储过程或触发器。修改可通过使用Transact-SQL语句进行,也可使用SQL Server管理平台进行修改
7、。,2023/10/11,主讲:王颂华,10,10.2 存储过程的操作,10.2.5 删除存储过程 当存储过程没有存在的意义时,可以使用DROP PROCEDURE语句或SQL Server管理平台将其删除。【例10-7】删除存储过程st_jsjbj。代码如下:USE student GO DROP PROCEDURE st_jsjbj GO,2023/10/11,主讲:王颂华,11,带参数的存储过程可以扩展存储过程的功能。使用输入参数,可以将外部信息传入存储过程;使用输出参数,可以将存储过程的信息传到外部。创建带参数的存储过程时,参数可以是一个,也可以是多个,有多个参数时,参数之间用逗号分隔
8、;所有类型的数据均可以作为存储过程的参数,一般情况下,参数的数据类型要与其相关字段的数据类型一致。,10.3 创建和执行带参数的存储过程,2023/10/11,主讲:王颂华,12,存储过程第一次执行后,其被编译的代码将驻留在高速缓存中,当用户再次执行该存储过程时,SQL Server将其从缓存中调出执行。在使用了存储过程后,有时可能会因为某些原因,必须向表中添加数据列或为表添加索引,从而改变数据库的逻辑结构,此时SQL Server不自动执行优化,直到下一次重新启动后,再运行该存储过程。,10.4存储过程的重新编译,2023/10/11,主讲:王颂华,13,10.5系统存储过程与扩展存储过程,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 存储过程与触发器 2 存储 过程 触发器
链接地址:https://www.31ppt.com/p-6268091.html