sql server 触发器(trigger)
本文章向大家介绍sql server 触发器(trigger),主要包括sql server 触发器(trigger)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
触发器调用和条件
触发器可以理解为对数据库的某个表进行操作时会自动执行的存储过程,触发器可以指定其被调用的条件,只要满足条件,触发器就会被调用
触发器条件分三种 insert, update, delete
触发器不能主动调用,只能时在数据库执行sql语句时被数据库自动调用
after(For) 与 Instead of 的区别
after(for) 指在sql语句执行完成后再触发,sql语句会正常执行
instead of 在sql语句执行前触发,sql语句不会正常执行,比如要执行insert操作,需要在instead of 中写insert语句,不然你会发现,插入语句不管用了
--创建触发器、禁止修改某个表或列
use xie
go
if exists(select *from sysobjects where name='pro_1')
drop trigger pro_1 --检测是否存在pro_1这个触发器
go
create trigger pro_1
on table_1 --给table_1这个表添加触发器
for update
as
if update (NAME) --当要修改table_1表中name这个列的时候、禁止修改
begin
print '禁止修改表'
rollback tran --记得回滚、事务
end
go
update Table_1 --现在试试能不能修改、下方报错、证明创建触发器成功
set NAME=564