你能在SQL语句中使用INSERT和IF吗?

时间:2013-07-09 14:32:17

标签: sql sql-server-2008

我需要检查表A中是否存在值,如果存在,我需要在表B中插入该值。

仅在SQL中执行此操作的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

使用INSERT...SELECT

INSERT INTO Table_B SELECT Field FROM Table_A WHERE Condition

答案 1 :(得分:1)

INSERT into Table_B(ID_Number, DTL_1, DTL_2, DTL_3) 
SELECT ID_Number, DTL_1, DTL_2, DTL_3 
FROM Table_A 
LEFT JOIN Table_B 
   ON Table_A.ID_Number = Table_B.ID_Number 
WHERE (((Table_B.ID_Number) Is Null));" 

在上面的示例中,ID_Number是一个KEY(或INDEX)字段,不会包含重复的条目。您的表格中需要类似的字段。

与其他回复不同,您将需要加入,否则您将无法确定记录是否存在于一个表中而不是另一个表中。