我的员工表包含列(ID,名称,地址,年龄)。此触发器在同一个表上有另一个insert语句。
create trigger emp_trigger
on employee
for insert
as
insert into employee (name, [address], age)
values ('AutoCreated', 'inserted via trigger', 40)
现在当我在employee表中插入一些东西时,触发器会执行,这会在表中插入另一个条目。但是触发器不会进一步执行。我期待它会创建无限循环,因为触发器内的插入操作会递归调用触发器。
我想知道为什么插入内部触发器会执行触发器。
答案 0 :(得分:4)
除非设置了RECURSIVE_TRIGGERS
数据库选项,否则触发器不会递归调用自身。
[这是出于显而易见的原因!]
您可以使用以下命令在数据库级别打开/关闭
ALTER DATABASE databasename
SET RECURSIVE_TRIGGERS ON | OFF