在SQL Server中,您无法执行此操作。 来自MSDN TRUNCATE TABLE无法激活触发器,因为该操作不记录单个行删除。有关更多信息,请参阅CREATE TRIGGER(Transact-SQL)。
你是否允许用户随意运行TRUNCATE TABLE?如果不是,为什么不将TRUNCATE命令放在存储过程中,并在TRUNCATE完成后处理触发器中需要做的事情,而不用担心使用触发器呢?(当然,必须按相反的顺序执行。)