- 1、本文档共62页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server 205数据库存储过程和触发器
SQL Server 2005数据库存储过程和触发器 要点 存储过程概述 创建和执行存储过程 修改和删除存储过程 参数化存储过程 存储过程中的错误处理 触发器概述 管理触发器 触发器的工作原理 Instead Of 触发器 触发器的应用 触发器的高级应用 1 存储过程概述 存储过程是预先编译好的一组Transact-SQL语句,这些语句作为一个单元存储。SQL Server中的存储过程与其他编程语言中的过程类似,可以接受输入参数,并以输出参数的形式将单个值或多个值返回给调用过程或批处理。存储过程中的语句,包含执行数据库操作以及调用其他过程的语句,向调用过程或批处理返回状态值,返回成功信息或错误码。 存储过程在被创建时,会被进行语法分析,判断语法的准确性。如果没有语法问题,存储过程的名称会被保存到sysobjects系统表中,存储过程的内容保存到syscomments系统表中。如果发现语法错误,就不会创建存储过程。存储过程在第一次被执行时,会被优化编译并且保存在高速缓冲中。 存储过程的种类 局部存储过程 局部存储过程由数据库用户创建。创建存储过程的权限默认属于数据库所有者,该所有者可将此权限授予其他用户。 系统存储过程 在SQL Server中很多的管理活动都可以通过系统存储过程执行,系统存储过程名称有前缀“sp_”,强烈建议不要以“sp_”为前缀创建任何存储过程。“sp_”前缀是SQL Server用来指定系统存储过程的。自定义的名称可能会与以后的某些系统存储过程发生冲突。如果应用程序引用了不符合架构的名称,而自定义的存储过程名称与系统存储过程名称相冲突,则该名称将绑定到系统存储过程而非自定义的存储过程,这将导致应用程序中断。 临时存储过程 临时存储过程可以在过程名称前添加“#”和“##”前缀的方法进行创建。“#”表示本地临时存储过程,“##”表示全局临时存储过程。SQL Server关闭后,这些存储过程将不再存在。局部临时存储过程在创建它的会话中可用,全局临时存储过程在所有的会话中可用。 CLR存储过程 在SQL Server 2005中,可以用Microsoft.Net Framework支持的公共语言运行库(Common Language Runtime,CLR)的编程语言创建存储过程。这种存储过程的用法类似于Transact-SQL用户自定义存储过程的用法。它们能够利用由CLR提供的众多编程模型的数据库对象,返回表格形式的结果、整数返回值或输出参数,并可以修改数据和某些数据库对象。 扩展存储过程 在SQL Server环境外部执行的DLL称为扩展存储过程。扩展存储过程名称有前缀“xp_”,可将参数传递给扩展存储过程。扩展存储过程可返回结果,也可返回状态。 存储过程的优势 模块化程序设计 用户在创建存储过程后便可以将其保存在数据库中,以后可以反复调用,并进行后期的修改和维护,提高开发效率和开发质量。 提高执行速度 当需要执行大量Transact-SQL代码时,存储过程的执行速度要比大量Transact-SQL代码的执行速度快。因为存储过程会被进行分析和优化,在执行时使用的是在高速缓冲中的内容,而客户端的Transact-SQL语句每次要被发送、编译和优化,效率较低。 减少网络流量 当需要执行大量Transact-SQL代码时,对于存储过程,只有调用命令和执行的结果在网络中传输,用户端不需要在网络中传输大量的代码,也不需要将数据库中的数据传输到本地进行计算,所以使用存储过程可以减少网络中的数据流量。 提供安全机制 用户可以被授予执行存储过程的权限,即使用户没有存储过程中引用到的表或视图的权限。既可以保证用户能够通过存储过程操作数据库中的数据,又可以保证用户不能直接访问与存储过程相关的表,从而保证表中数据的安全性。 2 创建和执行存储过程 创建存储过程 可使用CREATE PROCEDURE语句在当前数据库中创建存储过程,其中可以将PROCEDURE简写成PROC。存储过程名称需要符合标识符规范,并且对于数据库中的对象名是唯一的,存储过程名不可与已经存在的存储过程重名,也不可与已经存在的表和视图等其他数据库对象重名。如果创建局部临时过程,可以在存储过程名前面加前缀“#”;如果要创建全局临时过程,可以在存储过程名前面加前缀“##”。完整的名称(包括“#”或“##”)不能超过128个字符 创建存储过程 语法 CREATE PROC[EDURE] 存储过程名 (参数定义部分) AS (主体部分) 使用SQL Server Management Studio中的对象资源管理器创建Transact-SQL存储过程 调用存储过程 可使用EXECUTE语句执行存储过程,其中可以将EXECUTE简写成EXEC。执行存
您可能关注的文档
- PICC关知识及其维.ppt
- POWERPOIN2003操作.ppt
- powerpoint200基本操作.ppt
- POP广告设计-04POP手绘文设计-2变体字.ppt
- PowerPont 2003教程.ppt
- PPT-ISO900质量管理体系标准和质量认证.ppt
- PowerPoint203文稿演示软件.ppt
- PPT-产安全事故报告和调查处理及案例分析.ppt
- Power_PCB教程凌阳大学).ppt
- PPT-地质灾害防治工程施技术规程.ppt
- 【大单元教学设计】苏教版小学科学五年级上册五单元《人体司令部》 单元教学规划 5.19《我们的大脑》课时教案(含课时练习).docx
- Unit1 Period5 Listening and Talking--人教版高中英语必修第二册教学课件(共19张PPT).pptx
- Unit1 Period1 Listening and Speaking--人教版高中英语必修第二册教学课件(共17张PPT).pptx
- Unit1 Period3 Language Focus--人教版高中英语必修第二册教学课件(共54张PPT).pptx
- Unit4 Period4 Discovering Useful Structures--人教版高中英语必修第二册教学课件(共19张PPT).pptx
- 【大单元教学设计】苏教版小学科学五年级上册五单元《人体司令部》 单元教学规划 5.20《大脑的开发和利用》课时教案(含课时练习).docx
- Unit2 Period4 Discovering Useful Structures--人教版高中英语必修第二册教学课件(共15张PPT).pptx
- 2026版高三一轮总复习(数学)85 第九章 第4课时 事件的相互独立性、条件概率与全概率公式.pptx
- Unit3 Period5 Listening and Talking--人教版高中英语必修第二册教学课件(共16张PPT).pptx
- 2026版高三一轮总复习(数学)75 第八章 第7课时 双曲线.pptx
文档评论(0)