存储过程和触发器管理.ppt

存储过程和触发器管理.ppt

ID:52620092

大小:596.00 KB

页数:99页

时间:2020-04-11

存储过程和触发器管理.ppt_第1页
存储过程和触发器管理.ppt_第2页
存储过程和触发器管理.ppt_第3页
存储过程和触发器管理.ppt_第4页
存储过程和触发器管理.ppt_第5页
资源描述:

《存储过程和触发器管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第7章存储过程和触发器管理存储过程7.1触发器7.21本章要点存储过程概述创建存储过程执行存储过程存储过程的参数存储过程的返回值查看和修改存储过程删除存储过程触发器概述inserted和deleted表事务的概念及应用创建触发器修改和重命名触发器删除触发器27.1存储过程在创建SQLServer数据库应用程序时,Transact-SQL语言是应用程序和SQLServer数据库之间的主要编程接口。可用如下两种方法存储和执行Transact-SQL语句。(1)将Transact-SQL程序保存在本地,创建向SQLSer

2、ver发送命令并处理结果的应用程序。(2)可以将Transact-SQL程序保存在SQLServer中,即存储过程,在本地创建执行存储过程及处理结果的应用程序。任何一组Transact-SQL语句构成的代码块,都可以作为存储过程保存起来。它在服务器端对数据库中的数据进行处理,并将结果返回到客户端。这样就避免了从客户端多次连接并访问数据库的操作,减少了网络上的传输量,同时也提高了客户端的工作效率(因为这些操作都是在服务器端完成的)。37.1.1存储过程概述存储过程是集中存储在SQLServer中的SQL语句和流程控制

3、语句的预编译集合,用以实现某种任务(如查询)。这些语句在一个名称下存储并作为一个单元进行处理。4使用存储过程的优势可以减少客户端代码的重复。只需创建存储过程一次并将其存储在数据库中,以后即可在客户端程序中多次调用该存储过程。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。允许更快地执行。如果某操作需要大量的Transact-SQL代码或需要重复执行,使用存储过程将比在客户端执行Transact-SQL批代码的执行速度要快。存储过程在服务器端经过预编译,生成查询计划,可以直接执行,而在客

4、户端每次运行Transact-SQL语句时,都要从客户端重复发送,并且在SQLServer每次执行这些语句时,都要对其进行编译和优化。因此,存储过程执行速度更快。5使用存储过程的优势减少网络流量。例如,一个需要数百行Transact-SQL代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。可以简化数据库管理。例如,要修改某种查询,如果查询重复存放在客户机上,则要在所有客户机上修改查询,而使用存储过程可以集中修改。可作为安全机制使用。例如,即使对于没有直接执行存储过程中语句的权限的用户,

5、也可授予他们执行该存储过程的权限。6存储过程的分类系统存储过程:SQLServer内置的存储过程,存储在master库中,主要用途是执行SQLServer的某些管理功能、显示有关数据库和用户的信息。系统存储过程名以SP_开头,可以在任何数据库中执行系统存储过程。用户存储过程:用户自行创建并存储在用户数据库中的存储过程。临时存储过程:分为局部临时存储过程和全局临时存储过程。7存储过程的分类局部临时存储过程名称以#开头,存放在tempdb数据库中,只由创建并连接的用户使用,当该用户断开连接时将自动删除局部临时存储过程。

6、全局临时存储过程名称以##开头,存放在tempdb数据库中,允许所有连接的用户使用,在所有用户断开连接时自动被删除。远程存储过程:位于远程服务器上的存储过程。扩展存储过程:利用外部语言(如C)编写的存储过程,以弥补SQLServer的不足之处,扩展新的功能87.1.2创建存储过程使用CREATEPROCEDURE语句使用企业管理器中的菜单命令9CREATEPROCEDURE语句CREATEPROC[EDURE]存储过程名[;编号][{@参数数据类型}[VARYING][=默认值][OUTPUT]][,...n]WI

7、TH{RECOMPILE

8、ENCRYPTION

9、RECOMPILE,ENCRYPTION}]ASSQL语句[...n]10参数说明存储过程名必须符合标识符的命名规则,且对于数据库及其所有者必须是惟一的。要创建局部临时存储过程,可以在存储过程名前面加一个#号,要创建全局临时过程,可以在存储过程名前面加两个#号。完整的名称(包括#或##)不能超过128个字符。编号:可选整数,用来对同名的存储过程分组,以便用一条DROPPROCEDURE语句即可将同组的存储过程一起删除。11参数说明@参数:过程中的参数。在CREATEP

10、ROCEDURE语句中可以声明一个或多个参数。用户必须在执行存储过程时提供每个所声明参数的值(除非定义了该参数的默认值)。参数名称前需要使用@符号。参数名称必须符合标识符的命名规则。每个过程的参数仅用于该过程本身。在其他过程中可以使用相同的参数名称。默认情况下,参数只能代替常量,而不能用于代替表名、列名或其他数据库对象的名称。12参数说明数据类型:参数的数据

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

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

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