Truncate上的SQL触发器

时间:2010-02-10 03:30:20

标签: sql sql-server tsql

如何在MSSQL中执行TRUNCATE(而不是删除)时触发触发器

3 个答案:

答案 0 :(得分:19)

来自msdn

  

TRUNCATE TABLE无法激活触发器,因为该操作不记录单个行删除。

答案 1 :(得分:9)

您无法在SQL服务器上执行此操作。

来自MSDN

  

TRUNCATE TABLE无法激活a   触发因为操作没有   记录单个行删除。更多   信息,请参阅CREATE TRIGGER   (处理SQL)。

答案 2 :(得分:5)

您是否允许用户临时/不情愿地运行TRUNCATE TABLE?如果没有,为什么不将TRUNCATE命令包装在一个存储过程中,而不是担心使用触发器,该存储过程也处理截断完成后触发器将要执行的操作? (当然,你必须以相反的顺序这样做。)