- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据库sql语言实验题
第九章 T—SQL程序设计 9.1 T-SQL的变量定义和流程控制语句 9.2 存储过程 9.2.1 存储过程概述 9.2.2 创建存储过程 9.2.3 调用存储过程 9.2.4 修改存储过程 9.2.5 删除存储过程 9.2.6 存储过程的优化 9.3 用户自定义的数据类型 9.4 触发器的应用 9.5 事务和锁 1 存储过程概述 存储过程(Store Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带参数)来执行它。 在SQL中存储过程分为两类:系统提供的存储过程和用户自定义存储过程。 系统存储过程就是系统创建的存储过程。目的在于能够方便地从系统表中查询信息或完成与更新数据库表相关的管理任务或其他的系统管理任务。 系统过程以“sp_”为前缀,主要存储在master数据库中,为数据库管理员所有, 从而为系统管理员SQL Server提供支持。一些系统过程只能有系统管理员使用,而有些系统过程通过授权可以被其他用户所使用。尽管这些系统存储过程被放在master数据库中,但是仍可以在其他数据库对其进行调用,在调用时不必在存储过程名前加上数据库名。而且在创建一个新的数据库时,一些系统存储过程会在新的数据库中自动创建。 由于系统过程位于master 数据库中,它们的权限也在那里设置。其中的一些系统过程只能由数据库所有者运行。 其他系统过程可由被授予了EXECUTE 权限的任何用户执行,这个权限必须在master中授予。这种情况有两个结果: ① 一个用户可以有在所有数据库中执行一个系统过程的权限,或者在任何数据库中都不能执行该系统过程。 ② 一个用户数据库的所有者不能在他自己的数据库中直接控制系统过程上的权限。 用户自定义存储过程是由用户创建并能完成某一特定功能(如查询用户所需数据信息)的存储过程。在本章中所涉及到的存储过程主要是指用户自定义存储过程。 利用SQL Server创建一个应用程序时,Transact-SQL是一种主要编程语言。运用Transact-SQL来进行编程,有两种方法, 一种是,在本地存储Transact-SQL程序,并创建应用程序向SQL Server发送命令来对结果进行处理。另一种是,可以把部分Transact-SQL编写的程序作存储过程存储在SQL Server中,并创建应用程序来调用存储过程,对数据结果进行处理。存储过程能通过接受参数向调用者返回结果集,结果集的格式有调用者确定;返回状态值给调用者,指明调用是成功或是失败;包括针对数据库的操作语句,并且可以在一个存储过程中调用另一个存储过程 。 一般采用第二种方法,即在SQL Server中使用存储过程而不是在客户计算机上对调用Transact-SQL编写的一程序,因为利用存储过程具有以下特点: (1)存储过程允许标准组件式编程 存储过程在被创建以后,可以在程序中多次调用,而不必重新写该存储过程的SQL语句。当对存储过程进行修改时,对应用程序源代码毫无影响。 (2)存储过程能够实现较快的执行速度 因为存储过程是预编译的,在首次运行一个存储过程时,查询优化器对其进行分析、优化,并给出最终被存在系统表中的执行计划。而批处理的Transact_SQL语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。 (3)存储过程能够减少网络流量 对于针对数据库对象的操作所涉及到Transact_SQL语句被组织成一存储过程,当在客户计算机上调用该过程时,网络中传送的只是该调用语句,否则将是多条SQL语句,从而增大了网络流量,降低网络负载。 (4)存储过程可被作为一种安全机制来充分利用 系统管理员通过对执行某一存储过程的权限进行限制,从而实现对相应的数据访问全限的限制,避免非授权用户对数据的访问,保证数据的安全。 2 存储过程的基本操作 在SQL Server 2000中,创建一个存储过程有三种方法:一是使用创建存储过程向导,二是利用Transact-SQL中命令Create Procedure,三是使用企业管理器Enterprise Manager。本节主要介绍前两种方法。 在一个存储过程中,可以使用任何SQL语句,但是不包括下面的语句: Create Default, Create Procedure, Create Rule,
文档评论(0)