事务 游标 存储过程 触发器

事务 游标 存储过程 触发器

ID:14786423

大小:53.00 KB

页数:21页

时间:2018-07-30

事务 游标 存储过程 触发器_第1页
事务 游标 存储过程 触发器_第2页
事务 游标 存储过程 触发器_第3页
事务 游标 存储过程 触发器_第4页
事务 游标 存储过程 触发器_第5页
资源描述:

《事务 游标 存储过程 触发器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、事务游标存储过程触发器1、触发器。  定义:何为触发器?在SQLServer里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。  常见的触发器有三种:分别应用于Insert,Update,Delete事件。(SQLServer2000定义了新的触发器,这里不提)  我为什么要使用触发器?比如,这么两个表:  CreateTableStudent(      --学生表   StudentIDintprimarykey,   --学号   ....   )  CreateTableBorrowRec

2、ord(       --学生借书记录表   BorrowRecord intidentity(1,1),   --流水号    StudentID  int,         --学号   BorrowDate  datetime,       --借出时间   ReturnDAte  Datetime,       --归还时间   ...  )  用到的功能有:   1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);   2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记

3、录。  等等。  这时候可以用到触发器。对于1,创建一个Update触发器:  CreateTriggertruStudent   OnStudent   forUpdate  -------------------------------------------------------  --Name:truStudent  --func:更新BorrowRecord的StudentID,与Student同步。  --Use:None  --User:System  --Author: 懒虫#SapphireStudio(www.chair

4、3.com)  --Date : 2003-4-16  --Memo : 临时写写的,给大家作个Sample。没有调试阿。  -------------------------------------------------------  As   ifUpdate(StudentID)   begin    UpdateBorrowRecord     Setbr.StudentID=i.StudentID     FromBorrowRecordbr,Deleted d,Insertedi     Wherebr.StudentID=d.

5、StudentID   end             理解触发器里面的两个临时的表:Deleted,Inserted。注意Deleted与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。  一个Update的过程可以看作为:生成新的记录到Inserted表,复制旧的记录到Deleted表,然后删除Student记录并写入新纪录。  对于2,创建一个Delete触发器  CreatetriggertrdStudent   OnStudent   forDelete  --------------------------

6、-----------------------------  --Name:trdStudent  --func:同时删除BorrowRecord的数据  --Use:None  --User:System  --Author: 懒虫#SapphireStudio(www.chair3.com)  --Date : 2003-4-16  --Memo : 临时写写的,给大家作个Sample。没有调试阿。  -------------------------------------------------------  As   DeleteB

7、orrowRecord    FromBorrowRecordbr,Deltedd    Wherebr.StudentID=d.StudentID  从这两个例子我们可以看到了触发器的关键:A.2个临时的表;B.触发机制。  这里我们只讲解最简单的触发器。复杂的容后说明。  事实上,我不鼓励使用触发器。触发器的初始设计思想,已经被“级联”所替代。 2.游标   在SQL2000之前,游标可谓是SQLServer心中的痛:老牛般的速度(CPU),河马般的胃口(内存)。可你却不能不用他。  什么叫游标呢?说白了就是像高级语言一样,是存放数据集,

8、并逐条访问的一种机制。  比如在Delphi里面,要实现类似于这样的功能:(呵呵,不好意思,我只会Delphi,所以只能举一个Delphi的例子)   //这是一段

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。