我正在归档我的表数据以归档表。为此,我只是根据某些条件将记录插入到存档表中,并在下一条语句中删除主表中具有相同条件的记录。
但是为了提高性能,建议使用带有输出子句的单个语句。
代码:
INSERT INTO AR_tbl1
SELECT GETDATE(), D.*
FROM
(DELETE FROM tbl1
WHERE Amt >= 40
OUTPUT DELETED.*) D
但这行不通。如果我评论 where 子句,它会起作用。请帮我修复逻辑
where
条款
最佳答案
我完成了。谢谢马丁。问题出在顺序上。输出子句需要添加在 where 子句之前。
新代码:
INSERT INTO AR_tbl1
SELECT D.*
FROM
(DELETE FROM tbl1
OUTPUT DELETED.*
WHERE Amt >= 40) D
关于sql - 插入到已删除的输出子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24483241/