SQL Server 触发器

来源:互联网 发布:小提琴初学那个软件 编辑:程序博客网 时间:2024/05/16 00:49

SQL Server 触发器

触发器是一种特殊类型的存储过程,触发器主要是通过事件进行触发而被执行的,而存储过程可以通过名字直接调用。

对某一个表进行UPDATE , INSERT, DELETE 时,SQL Server会自动执行自定义的触发器。

触发器存在的作用

  1. 实现由主键和外键所不能保证的参照完整性和数据一致性
  2. 强化约束,能实现比CHECK语句更为复杂的约束
  3. 跟踪变化,触发器可以侦测数据库内的操作,从而不允许数据库不经许可的更新和变化
  4. 级联运行,触发器可以侦测数据库内的操作,并自动级联影响整个数据库的内容
  5. 存储过程的调用

创建触发器

-- 创建触发器-- 创建一个DELETE类型的触发器create trigger tr_employee ON employeefor  delete as declare @msg varchar(50)select @msg = STR(@@ROWCOUNT)+'个员工被删除'select @msgreturn ;

调用触发器

相应的SQL语句执行时,会自动调用触发器

delete from employeewhere employee_name='东方牧'-- 结果-- 1个员工被删除

删除触发器

drop trigger tr_employee

修改触发器

alter trigger tr_employee on employeefor insert  -- 创建一个INSERT类型的触发器asdeclare @msg varchar(50)select @msg = STR(@@ROWCOUNT)+'个员工被插入'select @msgreturn
0 0