技术: SQL Server Management Studio 2012
坚持:过程的 WHERE 部分。
目标:
基于新导入数据使用 Col1 和 Col2 作为参考(保存在 TblImportData 中)存档来自实时系统的数据
从 Live 系统中删除存档数据
将导入的数据移动到实时
示例工作流程:
TblData
Col1 Col2 Col3
1 Horse Brown
1 Cat Ginger
2 Fish Gold
2 Dog White
3 Cat Mixed
3 Cat Black
3 Fish Yellow
TblImport
Col1 Col2 Col3
1 Elephant Grey
TblDataAFTERSQL
Col1 Col2 Col3
1 Elephant Grey
2 Fish Gold
2 Dog White
3 Cat Mixed
3 Cat Black
3 Fish Yellow
TblArchiveAFTERSQL
1 Horse Brown
1 Cat Ginger
查询是:
INSERT INTO [DBArchive].dbo.TblDataArchive ([Col1],[Col2],[Col3])
SELECT [Col1],[Col2],[Col3]
FROM [DBLive].dbo.TblData
WHERE (SELECT DISTINCT [Col1],[Col2] FROM [DBImport].dbo.TblImportData)
我认为这就是你想要的:
INSERT INTO [DBArchive].dbo.TblDataArchive ([Col1], [Col2], [Col3])
SELECT [Col1], [Col2], [Col3]
FROM [DBLive].dbo.TblData td
WHERE EXISTS (SELECT 1
FROM [DBImport].dbo.TblImportData tid
WHERE tid.[Col1] = td.[Col1] AND tid.[Col2] = td.[Col2]
);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句