如果不存在,则插入记录SQL Server 2005

Tim*_*thy 2 t-sql insert temp-tables

SQL Server 2005数据库.我有许多记录的临时表,这些记录是从RSS源,需要周期性地插入.有些数据会改变,有些数据会保持不变.我只需要插入"新"的记录,并消除将导致重复记录的冗余数据的机会.我该如何做到这一点?

示例,tempTable,

        BEGIN
            INSERT INTO myTable
                (
                    row1
                    ,row2
                    ,row3
                )
            SELECT
                row1
                ,row2
                ,row3
            FROM @tempTable
        END
Run Code Online (Sandbox Code Playgroud)

And*_*mar 5

一种方法是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
        )
Run Code Online (Sandbox Code Playgroud)