如何使用插入语句代替此合并语句

时间:2019-01-04 06:58:11

标签: sql sql-server merge

我在脚本中有merge语句,但是我想知道如何为脚本编写insert语句。让我用代码解释 在下面的代码中,我有2个条件,一个与目标不匹配,并且@ column = 1

如果我要为此写一个插入语句

WHEN NOT MATCHED BY TARGET AND (@abcd = 1)
        THEN
            INSERT (columns)
            VALUES (columns)

1 个答案:

答案 0 :(得分:0)

能否请您澄清需求?

我确实了解所有内容,但是我认为如果TAB_B中不存在id且param @abcd = 1,则您希望插入TAB_A中,因此相关查询为:

INSERT INTO TAB_A(IdCol, SomeCol)
SELECT IdCol, SomeCol
FROM TAB_K 
WHERE IdCol NOT IN (SELECT IdCol FROM TAB_B) AND @abcd = 1

或者,如果您没有TAB_K:

INSERT INTO TAB_A(IdCol, SomeCol)
SELECT '1','SomeColToAdd'
WHERE '1' NOT IN (SELECT IdCol FROM TAB_B) AND @abcd = 1