第10章存储过程触发器2.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库原理与应用教程 ―SQL Server 第10章 存储过程和触发器 在SQL Server 2008应用操作中,存储过程和触发器都扮演着相当重要的角色。 存储过程可以使用户对数据库的管理工作变得更容易。存储过程是SQL语句和可选流程控制语句的预编译集合,它以一个名称存储并作为一个单元处理,能够提高系统的应用效率和执行速度。SQL Server提供了许多系统存储过程以管理SQL Server和显示有关数据库和用户的信息。 触发器是一种特殊类型的存储过程。当有操作影响到触发器保护的数据时,触发器就会自动触发执行。触发器是与表紧密联系在一起的,它在特定的表上定义,并与指定的数据修改事件相对应,它是一种功能强大的工具,它可以扩展SQL Server完整性约束默认值对象和规则的完整性检查逻辑,实施更为复杂的数据完整性约束。 本章主要介绍存储过程的基本概念,存储过程的创建、修改、调用和删除操作;触发器的基本概念,触发器的分类,触发器的创建、修改和删除,以及触发器的应用。 10.1 存储过程 当开发一个应用程序时,为了易于修改和扩充,经常会将负责不同功能的语句集中起来而且按照用途分别独立放置,以便能够反复调用,而这些独立放置且拥有不同功能的语句,即是“过程”(Procedure) 。SQL Server 2008的存储过程(Stored Procedure)包含一些T-SQL语句并以特定的名称存储在数据库中。可以在存储过程中声明变量、有条件地执行以及其他各项强大的程序设计功能。 10.1.1 存储过程概述 存储过程是一种数据库对象,独立存储在数据库内。存储过程可以接受输入参数、输出参数,返回单个或多个结果集以及返回值,由应用程序通过调用执行。存储过程是SQL Server中一个非常有用的工具。SQL Server支持存储过程和系统过程。存储过程是独立存在于表之外的数据对象。可以由客户调用,也可以从另一个过程或触发器调用,参数可以被传递和返回,出错代码也可以被检验。 存储过程最主要的特色是当写完一个存储过程后即被翻译成可执行码存储在系统表内,当作是数据库的对象之一,一般用户只要执行存储过程,并且提供存储过程所需的参数就可以得到所要的结果而不必再去编辑T-SQL命令。 一般来讲,应使用SQL Server中的存储过程而不使用存储在客户计算机本地的 T-SQL 程序,其优势主要表现在: (1)允许模块化程序设计。只需创建一次并将其存储在数据库中,以后即可在程序中调用该过程任意次。存储过程可由在数据库编程方面有专长的人员创建,并可独立于程序源代码而单独修改。如果业务规则发生变化,可以通过修改存储过程来适应新的业务规则,而不必修改客户端的应用程序。这样所有调用该存储过程的应用程序就会遵循新的业务规则。 (2)允许更快速地执行。如果某操作需要大量 T-SQL 语句或需重复执行,存储过程将比 T-SQL 批处理代码的执行要快。创建存储过程时对其进行分析和优化并预先编译好放在数据库内,减少编译语句所花的时间;编译好的存储过程会进入缓存,所以对于经常执行的存储过程,除了第一次执行外,其他次执行的速度会有明显提高。而客户计算机本地的T-SQL 语句每次运行时,都要从客户端重复发送,并且在 SQL Server 每次执行这些语句时,都要对其进行编译和优化。 (3)减少网络流量。一个需要数百行 T-SQL 语句的操作由一条执行过程代码的单独语句就可实现,而不需要在网络中发送数百行代码。 (4)可作为安全机制使用。数据库用户可以通过得到权限来执行存储过程,而不必给予用户直接访问数据库对象的权限。这些对象将由存储过程来执行操作,另外,存储过程可以加密,这样用户就无法阅读存储过程中的T-SQL语句。这些安全特性将数据库结构和数据库用户隔离开来,这也进一步保证数据的完整性和可靠性。 10.1.2 存储过程的类型 1.系统存储过程 存储过程在运行时生成执行方式,其后在运行时执行速度很快。SQL Server 2008中的许多管理活动都是通过一种特殊的存储过程执行的,这种存储过程被称为系统存储过程。系统过程主要存储在master数据库中并以sp_为前缀,并且系统存储过程主要是从系统表中获取信息,从而为数据库系统管理员管理SQL Server提供支持。通过系统存储过程,SQL Server中的许多管理性或信息性的活动(如获取数据库和数据库对象的信息)都可以被顺利有效地完成。 尽管这些系统存储过程被存储在master数据库中,但是仍可以在其他数据库中对其进行调用,在调用时,不必在存储过程名前加上数据库名。而且当创建一个数据库时,一些系统存储过程会在新的数据库中被自动创建。 SQL Server 2008系统存储过程是为用户提供方便的,它们使用户可以很容易地从

文档评论(0)

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

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

1亿VIP精品文档

相关文档