INSTEAD OF触发器使用的问题
创建触发器:
create trigger update_读者信息
on 读者信息
instead of update
as
if update(日期)
begin
print '不能修改日期'
rollback
end
go
测试该触发器:
update 读者信息 set 日期=getdate() where 姓名='ABC'
显示:不能修改日期,说明该触发器被触发了
可是对INSTEAD OF触发器我不太明白:
1、因为操作的过程中,无论更新哪一列,都会触发该触发器。所以,只要使用了INSTEAD OF触发器,该表所有的列都不能被更新了。这是正确的吗?对此有些疑惑,如果是正常了,用INSTEAD OF触发器有什么用呢?
2、INSTEAD OF并不表示在进行更新操作之前执行触发器,也不表示在进行更新操作之后执行触发器。按照字面意思,就是忘掉更新操作,转而执行后面的操作。这样理解对吗?
可不可以理解为INSTEAD OF触发器是用来限制对表/视图进行添加、修改、删除操作的??