首页 > 数据库技术 > 详细

SQL Server 触发器

时间:2021-08-14 00:10:11      阅读:18      评论:0      收藏:0      [点我收藏+]

触发器定义

  • 触发器是一种特殊类型的存储过程,可以理解为对数据库的某个表进行操作时会自动执行的存储过程,触发器可以指定其被调用的条件,只要满足条件,触发器就会被调用

触发器条件

  • insert
  • update
  • delete

何时触发

  • instead of :在sql语句执行前触发
  • after: sql语句执行完成后再触发

特殊表

  • 触发器有两个特殊的表:插入表(inserted表)和删除表(deleted表)。这两张是逻辑表也是虚表。有系统在内存中创建者两张表,不会存储在数据库中。而且两张表的都是只读的,只能读取数据而不能修改数据。这两张表的结果总是与被改触发器应用的表的结构相同。当触发器完成工作后,这两张表就会被删除。Inserted表的数据是插入或是修改后的数据,而deleted表的数据是更新前的或是删除的数据

  • Update数据的时候就是先删除表记录,然后增加一条记录。这样在inserted和deleted表就都有update后的数据记录了。注意的是:触发器本身就是一个事务,所以在触发器里面可以对修改数据进行一些特殊的检查。如果不满足可以利用事务回滚,撤销操作

技术分享图片

实例1:

  • 删除用户表中的用户后,(触发)删除其他库中的存放的密码表中的用户
use XXX
go
create trigger Tri_DeleteUser on User after delete
as
delete from XXX.dbo.UserAccount where guid = (select guid from deleted)

SQL Server 触发器

原文:https://www.cnblogs.com/bangbangzoutianya/p/15138887.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!