时间:2021-07-01 10:21:17 帮助过:2人阅读
解释
如果一个Insert﹑update或者delete语句违反了约束,那么这条SQL语句就没有执行成功,因此“After”触发器也不会被激活。
“Instead of” 触发器可以取代激发它的操作来执行。它在Inserted表和Deleted表刚刚建立,其它任何操作还没有发生时被执行。因为“Instead of” 触发器在约束之前执行,所以它可以对约束进行一些预处理。
对表的操作 | Inserted逻辑表 | Deleted逻辑表 |
---|---|---|
增加记录(insert) | 存放增加的记录 | 无 |
删除记录(delete) | 无 | 存放被删除的记录 |
修改记录(update) | 存放更新后的记录 | 存放更新前的记录 |
--格式
create trigger trigger_Ceshi
on {table_name|view_name}
{After|Instead of} {insert|update|delete}
as 相应T-SQL语句
insert into ceshi values(22)
--例子
create trigger trigger_Ceshi
on ceshi
after insert
as
begin
--定义变量
declare @id int, @Amount decimal(18,2);
--在inserted表中查询已经插入记录信息
select @id = id, @Amount = Amount from inserted;
insert into ceshi2 values(@id,@Amount);
end
-------------------------------
sql 触发器
标签: