- 1
- 0
- 约1.77万字
- 约 62页
- 2017-12-27 发布于河南
- 举报
SQL Server 2005数据库存储过程和触发器
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。执行存
您可能关注的文档
最近下载
- 中学生交通安全教育培训课件PPT.pptx VIP
- 牵引供电系统 牵引变电所供电方式 牵引变电所供电方式.ppt VIP
- 1.03 玉米高产管理技术 - (先锋克劳森).pptx VIP
- 杜邦公司讲座杜邦安全管理介绍.pptx VIP
- 2025年广西财经学院辅导员招聘考试笔试模拟试题及答案解析.docx VIP
- (正式版)DB65∕T 3611-2023 《农业用水定额》.pdf VIP
- 2025年江苏省南京市中考英语试卷(含解析).pdf VIP
- (2025年版)国家基层高血压防治管理指南PPT课件.pptx VIP
- 2024年山东交通职业学院高职单招(英语/数学/语文)笔试题库含答案解析.docx VIP
- 2017年-2022年暨南大学考研701美学原理真题.pdf
原创力文档

文档评论(0)