我在SQL Server2008中有两个相同的表,一个是我的应用程序经常使用的"Live“表。我在一天中定期提取新记录,并将它们插入到一个“暂存”表中,我需要从该表中提取新记录并插入到Live表中。我不想插入任何重复项,以防某些记录重叠。我需要查看10列以查看是否存在相同的记录,我已经查看了一些TSQL示例,但到目前为止还没有一个有效,我还考虑过处理复制,只报告不同的值,但不同的值对一条记录有效,我需要它对10条有效。有什么建议吗?
谢谢,山姆
发布于 2012-03-30 23:05:30
这是NOT EXISTS的理想用例-您可以检查任意多个条件,以验证您不会插入副本。
INSERT INTO Live
SELECT <fields>
FROM Staging s
WHERE NOT EXISTS (SELECT 1
FROM Live l
WHERE s.FieldA = l.FieldA
AND s.FieldB = l.FieldB
<all your checks here>...)https://stackoverflow.com/questions/9945256
复制相似问题