如何创建将已删除数据(多个记录)保存到生产表的触发器

时间:2011-12-29 19:15:29

标签: sql-server-2008 triggers

我使用临时表来保持sql-server的良好性能,我有一个该表的副本(生产表),我创建了一个触发器,当我从临时表中删除数据时,它将数据插入到生产表。问题是,当我从临时表中删除数据记录时,它只插入第一条记录。

我可以从已删除的数据记录中保存所选记录吗?例如,我想保存到生产表中的那些记录在POST =' T'

1 个答案:

答案 0 :(得分:0)

这应该是一个非常简单的要求,沿着以下几行

CREATE TRIGGER YourTrigger
ON Staging
AFTER DELETE 
AS
INSERT INTO Production
SELECT * 
FROM DELETED

但是使用OUTPUT子句可能比触发器更有效

DELETE Staging 
OUTPUT DELETED.* 
INTO Production