SQL数据库触发器实例讲解

SQL数据库触发器实例讲解,第1张

SQL数据库触发器实例讲解,第2张

定义:什么是触发器?在sql server中,就是对某个表的某个操作触发了某个条件,从而执行一个程序。触发器是一个特殊的存储过程。
有三种常见的触发器:分别用于插入、更新、删除事件。(sql server 2000定义了一个新的触发器,这里不提)
为什么要用触发器?比如这两张表:
使用的函数如下:1。如果我改了一个学生的学号,希望他的借阅记录还是和这个学生有关(也就是同时改借阅记录表的学号);2.如果学生已经毕业,我希望删除他的学号以及他的借阅记录,等等。

此时可以使用触发器。对于1,创建一个更新触发器:
Create trigger tru student on Student-为update创建一个触发器-在Student表中-为什么事件触发为-如果Update(Student ID)Begin Update Borrow Recordset Student ID = I . Student ID from Borrow record br,deleted,inserted I-deleted和inserted临时表Where br。学生ID = d .学生ID end
了解触发器中的两个临时表:deleted和inserted。请注意,deleted和inserted分别表示触发事件的表的“旧记录”和“新记录”。
在数据库系统中,有两个虚拟表用于存储表中记录的更改信息,它们是:
虚拟表插入虚拟表删除
当添加表记录时存储新记录,但不存储记录
当修改时存储新记录用于更新,更新前存储记录
删除时存储删除的记录
更新过程可以看作:向插入的表中生成新记录,将旧记录复制到删除的表中,然后删除学生记录并写入新记录。
对于2,创建一个删除触发器
创建触发器TRD学生对学生进行删除作为从借书记录中删除借书记录br,Ted d where br。studentid = d.studentid
从这两个例子可以看出trigger的关键:a.2临时表;b .触发机制。
这里我们只解释最简单的触发器。解释复杂性。
其实我并不鼓励使用触发器。触发器最初的设计思想已经被“级联”所取代。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » SQL数据库触发器实例讲解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情