- 1、本文档共107页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
14讲存储过程和触发器管理
第14讲 存储过程和触发器管理 存储过程概述 创建和执行存储过程 存储过程的参数 存储过程的返回值 查看和修改存储过程 删除存储过程 触发器概述 inserted和deleted表 事务的概念及应用 创建触发器 、修改和重命名触发器 删除触发器 14.1 存储过程 在创建SQL Server数据库应用程序时,Transact-SQL语言是应用程序和SQL Server数据库之间的主要编程接口。 可用如下两种方法存储和执行Transact-SQL语句。 (1) 将Transact-SQL程序保存在本地,创建向SQL Server发送命令并处理结果的应用程序。 (2) 可以将Transact-SQL程序保存在SQL Server中,即存储过程,在本地创建执行存储过程及处理结果的应用程序。 任何一组Transact-SQL语句构成的代码块,都可以作为存储过程保存起来。它在服务器端对数据库中的数据进行处理,并将结果返回到客户端。这样就避免了从客户端多次连接并访问数据库的操作,减少了网络上的传输量,同时也提高了客户端的工作效率 14.1.1 存储过程概述 存储过程是集中存储在SQL Server中的SQL语句和流程控制语句的预编译集合,用以实现某种任务(如查询)。这些语句在一个名称下存储并作为一个单元进行处理。 使用存储过程的优势 可以减少客户端代码的重复 只需创建存储过程一次并将其存储在数据库中,以后即可在客户端程序中多次调用该存储过程。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。 允许更快地执行 如果某操作需要大量的Transact-SQL代码或需要重复执行,使用存储过程将比在客户端执行Transact-SQL批代码的执行速度要快。 存储过程在服务器端经过预编译,生成查询计划,可以直接执行,而在客户端每次运行Transact-SQL语句时,都要从客户端重复发送,并且在SQL Server每次执行这些语句时,都要对其进行编译和优化。因此,存储过程执行速度更快。 减少网络流量。例如,一个需要数百行Transact-SQL代码的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。 可以简化数据库管理。例如,要修改某种查询,如果查询重复存放在客户机上,则要在所有客户机上修改查询,而使用存储过程可以集中修改。 可作为安全机制使用。例如,即使对于没有直接执行存储过程中语句的权限的用户,也可授予他们执行该存储过程的权限。 存储过程的分类 系统存储过程: SQL Server内置的存储过程,存储在master库中,主要用途是执行SQL Server的某些管理功能、显示有关数据库和用户的信息。系统存储过程名以SP_开头,可以在任何数据库中执行系统存储过程。 用户存储过程:用户自行创建并存储在用户数据库中的存储过程。 远程存储过程:位于远程服务器上的存储过程。 扩展存储过程:利用外部语言(如C)编写的存储过程,以弥补SQL Server的不足之处,扩展新的功能 临时存储过程: 局部临时存储过程名称以#开头,存放在tempdb数据库中,只由创建并连接的用户使用,当该用户断开连接时将自动删除局部临时存储过程。 全局临时存储过程名称以##开头,存放在tempdb数据库中,允许所有连接的用户使用,在所有用户断开连接时自动被删除。 17.1.2 创建存储过程 使用CREATE PROCEDURE语句 使用企业管理器中的菜单命令 CREATE PROCEDURE语句 CREATE PROC[ EDURE ] 存储过程名[;编号] [ { @参数 数据类型 } [ VARYING ] [ = 默认值 ] [ OUTPUT ] ] [,...n] WITH { RECOMPILE | ENCRYPTION | RECOMPILE,ENCRYPTION} AS SQL语句 [ ...n ] 参数说明 存储过程名:必须符合标识符的命名规则,且对于数据库及其所有者必须是惟一的。要创建局部临时存储过程,可以在存储过程名前面加一个#号,要创建全局临时过程,可以在存储过程名前面加两个#号。完整的名称(包括 # 或 ##)不能超过128个字符。 编号:可选整数,用来对同名的存储过程分组,以便用一条DROP PROCEDURE语句即可将同组的存储过程一起删除。 @参数: 过程中的参数。在CREATE PROCEDURE语句中可以声明一个或多个参数
文档评论(0)