- 1、本文档共67页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第05章 存储过程和触发器.ppt
任务 掌握存储过程,触发器的概念和使用方法; 掌握运用T-SQL编写基本的存储过程、触发器。( ☆ *) 理解存储过程、触发器的用途; 进一步理解数据完整性的含义(☆) 了解数据完整性的规则、默认值等使用。 5.1 存储过程 5.1.1 存储过程的基本概念 5.1.2 存储过程的优点 5.1.3 存储过程的分类 5.1.4 存储过程的使用方法 5.1 存储过程 传统的数据库结构 管理数据等共享资源, 所有的应用程序都在用户端,都与用户实际运行的应用程序捆绑在一起; 客户/服务器数据库 管理数据等共享资源 承担一些应用逻辑,完成来自客户端的一些处理请求,在数据库中还可以存放程序,即存储过程。 5.1.1 存储过程的基本概念 是什么:是事先编好的、存储在服务器端的数据库中的程序(预编译的SQL集合),这些程序用来完成对数据库的指定操作。 怎么使用:这些程序可以由应用程序的调用启动,或由数据完整性规则和触发器调用。 怎么理解:存储过程是用户可以简单地将其作为一个函数来调用,无须重复执行存储过程的SQL语句。它包含一组经常执行的、逻辑完整的SQL语句。 5.1.2 存储过程的优点 减轻程序编写的工作量:可以在各个程序中反复调用定义好的存储过程。 存储过程能够实现较快的执行速度 :因为存储过程是预编译的,而批处理的T- SQL 语句在每次运行时都要进行编译和优化,因此速度相对要慢一些。 存储过程能够减少网络流量 : 对于同一个针对数据库对象的操作,所涉及到的 T-SQL 语句被组织成一存储过程,当在客户端调用该存储过程时,网络中传送的只是该调用语句 ,降低网络负载 。 存储过程增加安全机制:系统管理员通过对执行某一存储过程的权限进行限制,从而能够实现对相应的数据访问权限的限制,避免非授权用户对数据的访问,保证数据的安全。 5.1.3 储存过程的分类 系统存储过程 SQL Server本身提供了一些存储过程,用于管理SQL Server和显示有关数据库和用户的信息,我们称之为系统存储过程。系统存储过程都以“sp_” 开头,存储在master数据库中。 用户存储过程 用户也可以编写自己的存储过程,并把它存放在数据库中。这样安排的主要目的就是要充分发挥数据库服务器的功能,尽量减少网络上的堵塞。 5.1.4 存储过程的使用方法 创建存储过程 执行存储过程 修改存储过程 删除存储过程 创建存储过程 例:创建一个最简单的存储过程(无参数调用): 例:带参数的存储过程: 执行存储过程 例:执行带参数的sp_getemp;2存储过程 存储过程的返回值和状态信息 常用的存储过程返回状态表 0 过程成功执行 -1 对象丢失 -2 发生数据类型错误 -3 处理过程被死锁 -4 发生权限错误 -5 发生语法错误 -6 发生恶意用户错误 -7 发生资源错误 -8 遭遇非致命的内部错误 -9 遭遇系统限制 -10 发生致命的内部不稳定性 -12 表或索引被破坏 -13 数据库被破坏 -14 发生硬盘错误 通常用全局变量@@ERROR 返回最后执行的SQL 语句的错误代码。 利用全局变量修改刚才的例子 CREATE PROCedure sp_getemp;3 (@salary int =NULL) AS SELECT * FROM 职工 WHERE 工资 @salary IF @@ERROR = 0 RETURN 0 ELSE RETURN -1 存储过程的修改和删除 修改存储过程的语句是(一般格式): ALTER PROC[edure] procedure_name [ ; number ] [ @parameter data_type [ = default ], …?] AS sql_statement 删除存储过程的语句是: DROP PROC[edure] procedure_name 注意:删除存储过程的语句中不能指定序号。也就是说,该语句将同时删除同名的所有存储过程。 小结:要用好存储过程 5.2 触发器 5.2.1 触发器的基本概念 5.2.2 触发器的用途 5.2.3 触发器与存储过程的比较 5.2.4 触发器的使用方法 5.2.1 触发器的基本概念 触发器可以看作是一类特殊的存储过程,它在满足某个特定条件时自动触发执行。 触发器是为表上的更新、插入、删除操作定义的,也就是说当表上发生更新、插入或删除操作时触发器将执行。 因此,
文档评论(0)