小编kwi*_*tee的帖子

为什么在没有要插入的数据时调用插入触发器?

我注意到一种非常奇怪的行为.如果我创建一个insert-select语句并且select部分没有返回数据,则插入部分仍然执行,甚至调用insert trigger(在插入触发器中插入的伪插入中有0行).

例:

insert into table1 column1
select column1 from table2 where condition = 'Never met'
Run Code Online (Sandbox Code Playgroud)

输出:

(0 row(s) affected) // 0 rows inserted
(1 row(s) affected) // log from trigger
Run Code Online (Sandbox Code Playgroud)

可能是由'通用'触发器引起的(一次声明FOR INSERT,UPDATE,DELETE)?我知道这更像是假设性问题,我必须接受这种行为.但为什么会这样呢?对我来说完全是无稽之谈.我正在使用SQL Server 2005.

- kwitee

sql-server sql-server-2005

4
推荐指数
1
解决办法
1614
查看次数

标签 统计

sql-server ×1

sql-server-2005 ×1