有效的SQL Server触发器 - 只触发一次

stc*_*flw 1 t-sql sql-server triggers

我希望在更改表数据时进行一些计算.但是,我手动更新我的表并一次复制约3000行.这使我的触发器工作3000次,但我希望它只触发一次.

有没有办法做到这一点 ?

谢谢.

Pab*_*ruz 5

你的发言是什么?

如果您有多个插入,那么它将为您正在运行的每个插件触发.如果您希望它只对多个插入执行一次,您必须:

  1. 将插入内容写在单个语句中,例如 insert into foo select * from bar
  2. 您的触发器不能用于每一行

其他可能性可能是:

  1. 禁用触发器
  2. 执行插入
  3. 将触发器代码放在存储过程中
  4. 运行存储过程