SQL Server 2005数据库。我有一个包含许多记录的临时表,这些记录来自RSS提要,需要定期插入。某些数据将更改,而某些数据将保持不变。我只需要插入“新”记录,并消除插入冗余数据导致重复记录的机会。我该如何完成?
例如tempTable,
BEGIN
INSERT INTO myTable
(
row1
,row2
,row3
)
SELECT
row1
,row2
,row3
FROM @tempTable
END
最佳答案
一种方法是not exists
子查询:
INSERT myTable
(row1, row2, row3)
SELECT row1, row2, row3
FROM @tempTable temp
WHERE NOT EXISTS
(
SELECT *
FROM myTable
WHERE row1 = temp.row1
and row2 = temp.row2
and row3 = temp.row3
)