0
我有表test1,其中包含字段Id和日期。带有主键的ID在具有ID和名称字段的另一个表test2中被引用。这里Id引用来自test1的Id。从一个表中删除记录并插入另一个表
我想从test1和test2中删除最近3个月的数据,并将删除的数据插入表test3(test1)和test4(test2)中。
我有表test1,其中包含字段Id和日期。带有主键的ID在具有ID和名称字段的另一个表test2中被引用。这里Id引用来自test1的Id。从一个表中删除记录并插入另一个表
我想从test1和test2中删除最近3个月的数据,并将删除的数据插入表test3(test1)和test4(test2)中。
假设表test3的结构与test1相同,test4的结构与test2相同,请执行这些语句。
INSERT INTO test3
SELECT * FROM test1
WHERE Date < DATEPART(month, -3, GETDATE());
INSERT INTO test4
SELECT * FROM test2
WHERE ID IN (SELECT ID FROM test3);
DELETE FROM test2
WHERE ID IN (SELECT ID FROM test3);
DELETE FROM test1
WHERE ID IN (SELECT ID FROM test3);
不要忘记提交更改。如果您创建脚本以便定期启动此脚本,请务必在事务块中使用COMMIT TRANSACTION在最后执行这些语句。
奇怪的是,你想从2个表格中的数据存档在其他表格中。为什么不是两个? – trincot
@ trincot是的,我想将两个表的数据保存到其他两个表中,因为test1数据将进入test3,test2数据将进入测试4。 – KD29