[计算机]SQLserver2005数据库存储过程与触发器常识SQLServer2005数据库维护基础与进阶.pptVIP

[计算机]SQLserver2005数据库存储过程与触发器常识SQLServer2005数据库维护基础与进阶.ppt

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[计算机]SQLserver2005数据库存储过程与触发器常识SQLServer2005数据库维护基础与进阶

存储过程和触发器 开发中编写的一些SQL语句会占用程序的很大篇幅,而且不便于在其他地方重用,且由于这些SQL语句通常还要跨越传输途径从外部不仅会导致程序的运行效率低,还会产生安全隐患,而存储过程则能克服以上的缺陷。 触发器可以大大增强应用程序的健壮性、数据库可恢复性和数据库的可管理性。 存储过程和触发器都是SQL Server的数据库对象。存储过程的存在独立于表,它存放在服务器上,供客户端调用。 存储过程和触发器 1 存储过程概述 2 设计存储过程 3 实现和管理存储过程 4 触发器概述 5 触发器设计规则 6 实现和管理触发器 1 存储过程概述 1.1 存储过程的特点 能够在单个存储过程中执行一系列的Transact-SQL语句, 能够以在一个存储过程中调用其他的存储过程。 存储过程是保存在服务器端的已经编译的Transact-SQL语句。 存储过程可以使用控制流语句和变量,大大增强了SQL的功能。 存储过程在提交前会自动检查语法。 存储过程是管理员放在服务器端的Transact-SQL语句。 1.2 存储过程的分类 1. 用户存储过程 2. 系统存储过程 3. 扩展存储过程 2 设计存储过程 2.1 一些设计规则 用户在设计数据库(的存储过程)时,应遵守以下规则: 在SQL Server 2005中,存储过程可以使用Transact-SQL中的任何语句,但是表1中的语句除外。 2.2 存储过程的内部命名规范化 存储过程中的Transact-SQL语句使用的对象名称必须符合规范的模式,如果未指明对象所属的模式,存储过程将使用当前默认的模式。 每个存储过程必须有惟一的名称,存储过程中使用的变量类型必须符合Transact-SQL的要求,变量名必须以@开头,并且存储过程的名称和变量的命名要符合Transact-SQL标识符规则。 2.3 存储过程的加密定义 如果用户想定义一个不让其他用户看到具体操作的存储过程,可以使用WITH ENCRYPTION参数,那么存储过程将会以不可读的状态存在,并且存储过程拥有者、创建者和数据库管理员都不可见。 3 实现和管理存储过程 3.1 创建存储过程 由于必须使用Transact-SQL语句创建存储过程,所以用户必须首先掌握创建存储过程的Transact-SQL语法结构,然后再学习如何使用Management Studio创建存储过程。 3.2 执行存储过程 执行存储过程有多种方式,比较常用的有以下几种。 1. 通过Execute或Exec语句执行 2. 通过设置,使存储过程自动执行 3. 作为批处理的第一行,直接输入存储过程名 3.3 修改存储过程 1. 修改存储过程的语法 注意:修改存储过程的名称会影响已关联对象对此存储过程的调用。 2. 使用Management Studio修改存储过程 3.4 重新编译存储过程 1.sp_recompile系统存储过程可以强制指定的存储过程在下次调用时重新编译。其调用的语法结构为:sp_recompile [ @objname = ] object,其中的object为存储过程的名称。 2.在创建存储过程时使用WITH RECOMPILE参数项,SQL Server将不会把此存储过程放在缓冲存储器中,并且每次调用此存储过程时都会重新编译。 3.在调用存储过程时,可以使用参数选项WITH RECOMPILE强制重新编译。使用这个参数项要求存储过程的参数必须是非典型的或者数据发生了很大的变化,否则一般不用它。 3.5 删除存储过程 如果一个存储过程不再需要,用户就可以删除它,但是如果此存储过程有关联存储过程调用,系统会返回错误信息。但是删除存储过程后,用户重新定义的同名称同参数的存储过程可以被原来关联的对象使用。 删除存储过程的Transact-SQL语法结构为: DROP PROCEDURE { [ schema_name. ] procedure } [ ,...n ] 4 触发器概述 触发器是一种特殊类型的存储过程,这种存储过程能够在某个规定的事件发生时触发执行。触发器通常可以强制执行一定的业务规则,以保持数据完整性、检查数据有效性、实现数据库管理任务和一些附加的功能。 触发器是数据库中比较高级的应用,灵活使用触发器可以大大增强应用程序的健壮性、数据库的可恢复性和数据库的可管理性。同时可以使开发人员和数据库管理员实现一些复杂的功能,简化开发步骤,降低开发成本,增加开发效率,提高数据库的可靠性。 4.1 触发器的特点 触发器是一种特殊的存储过程,除了存储过程的特点外,它还另外有以下特

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档