- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
chap3-3存储过程
3.10 存储过程 利用T-SQL 以存储过程和触发器实现编程 一、存储过程的定义 二、存储过程的特点 三、存储过程的使用 四、存储过程的种类 五、触发器 六、事务 一. 什么是存储过程(Stored-Procedure) 存储过程就是利 Transact-SQL语言编写的存储在数据库内的可以执行一些特殊的或常用的数据处理的程序,它是数据库对象之一,可以通过编译在数据库后台执行,是数据库端编程的重要技术。 即: 存储过程是存放在数据库服务器上的预先定义与编译好的T-SQL语句集合,是一个独立的数据库对象。 我们可以将某些需要多次调用的实现某个特定任务的代码段编写成一个过程,将其保存在数据库中,并由SQL Server服务器通过过程名来调用它们,这些过程就叫做存储过程。 存储过程在创建时就被编译和优化,在第一次执行时进行语法检查和编译。编译好的版本存储在过程高速缓存中供应用程序多次调用 二 、 存储过程的特点 实现了模块化编程。 存储过程具有对数据库立即访问的功能。 使用存储过程可以加快程序的运行速度。 使用存储过程可以减少网络流量。 使用存储过程可以提高数据库的安全性。 存储过程由应用程序激活,而不是由系统自动执行 存储过程可以接受输入参数和返回值。 三、存储过程的使用 1. 创建存储过程 2. 执行存储过程 3. 修改和删除存储过程 本节小结 存储过程分系统存储过程、扩展存储过程和用户自定义的存储过程。 系统存储过程是SQL Server 2005自身配备的具有特殊功能和用途的存储过程,SQL Server 2005也配备了部分扩展存储过程。 用户自定义的存储过程是用户使用Transact- SQL编写的用户常用的一些程序,这些程序代存储在SQL Server数据库中,并可以通过编译行。 调用存储过程类似调用系统函数,可以输入参 数,也可以通过参数输出执行的结果,大大提了代码的重用性、安全性和执行速度。 2、事务的特性(ACID特性) 事务的ACID特性: 原子性(Atomicity) 一致性(Consistency) 隔离性(Isolation) 持续性(Durability ) Sql中事务的定义 显式定义方式 BEGIN TRANSACTION BEGIN TRANSACTION SQL 语句1 SQL 语句1 SQL 语句2 SQL 语句2 。。。。。 。。。。。 COMMIT ROLLBACK ⑶ 触发器中可使用的特殊表: 使用触发器时,SQL Server提供了两张特殊的临时表: inserted表和deleted表。 这两张表存在于高速缓存中,它们与创建触发器的表有相同的结构。 .用户可以使用该表检查某些修改操作的效果。 .但用户不能直接修改该表中的数据。 .用户可以使用该表的内容作为查询操作的判断条 件,但要在FROM中写出使用的表名(inserted 或deleted)。 ① inserted表: 存放被INSERTE插入和UPDATE更新的新数据。当向表中插入数据时,INSERT触发器被触发。新的记录增加到触发器表中和inserted表中。 inserted表是一个逻辑表,保存了所插入记录的拷贝,触发器可以检查inserted表,来确定该触发器的操作是否应该执行和如何执行。 ② deleted表: 存放被DELETE删除和UPDATE更新的旧数据。当触发一个DELETE触发器时,被删除的记录放在一个特殊的deleted表中。 deleted表是一个逻辑表,用来保存已经从表中删除的记录。DELETE触发器可以参考deleted表中的数据。 注: UPDATE触发器可使用deleted表和inserted表修改一条记录等于删除一条旧记录和插入一条新记录。UPDATE可以看成是由DELETE语句和 INSERT 语句组成。当在一个有UPDATE触发器的表上修改一条记录时,表中原来的记录移动到deleted表中,修改过的记录插入到inserted表中。UPDATE触发器可以
文档评论(0)