Tsql 如果行不';不存在

Tsql 如果行不';不存在,tsql,stored-procedures,insert,conditional,Tsql,Stored Procedures,Insert,Conditional,我正在创建一个存储过程,该存储过程将使用insert into+子查询将行插入“暂存”表,如下所示: INSERT INTO myStagingTable SELECT col1, col2, col3 FROM myRealTable 我需要在其中添加一个条件,以确定myStagingTable上是否已经存在col1中的值,然后不要插入它,只需从myRealTable中跳过该行 这可能吗?如果是这样,我将如何构建它 短暂性脑缺血发作 这将处理所有重复项(包括NULL) 请注意,is将插入实际

我正在创建一个存储过程,该存储过程将使用insert into+子查询将行插入“暂存”表,如下所示:

INSERT INTO myStagingTable
SELECT col1, col2, col3
FROM myRealTable
我需要在其中添加一个条件,以确定myStagingTable上是否已经存在col1中的值,然后不要插入它,只需从myRealTable中跳过该行

这可能吗?如果是这样,我将如何构建它

短暂性脑缺血发作

这将处理所有重复项(包括
NULL

请注意,is将插入实际表中的副本。如果实际表包含

1 1 1
1 1 1
2 2 2
而staging表包含

1 1 1
1 1 1
2 2 2
,将插入
1,1,1
的两条记录

如果要在插入时消除重复项(以便只插入
1,1,1
的一个实例),请使用以下方法:

INSERT
INTO    myStagingTable
SELECT  col1, col2, col3
FROM    myRealTable
EXCEPT
SELECT  col1, col2, col3
FROM    myStagingTable

您不应该在INTSERSECT子句的两侧指定所选的列吗?如果myRealTable中有四个Col怎么办?