我有包含列(id、姓名、地址、年龄)的员工表。该触发器在同一个表上有另一个插入语句。
create trigger emp_trigger
on employee
for insert
as
insert into employee (name, [address], age)
values ('AutoCreated', 'inserted via trigger', 40)
现在,当我在员工表中插入某些内容时,触发器就会执行,从而在表中插入另一个条目。但是触发器不会进一步执行。我期望它会创建无限循环,因为触发器内的插入操作会递归调用触发器。
我想知道为什么 insert inside 触发器确实会执行触发器。
最佳答案
除非设置了RECURSIVE_TRIGGERS
数据库选项,否则触发器不会递归地调用自身。
[这样做的原因显而易见!]
您可以通过以下方式在数据库级别打开/关闭:
ALTER DATABASE databasename
SET RECURSIVE_TRIGGERS ON | OFF
引用号:CREATE TRIGGER
关于sql - 使用插入语句触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20318816/