Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 匹配时使用合并插入行?_Sql_Sql Server - Fatal编程技术网

Sql 匹配时使用合并插入行?

Sql 匹配时使用合并插入行?,sql,sql-server,Sql,Sql Server,我使用MERGE在表中插入记录,但仅当源中的一列满足条件时 以下是有效的MERGE语句: MERGE INTO sometable AS [Target] USING ( --Here SELECT and INNER JOINS and WHERE ) AS [Source] ON 1 = 0 WHEN NOT MATCHED AND [Source].somecolumn > 0 THEN INSERT --co

我使用
MERGE
在表中插入记录,但仅当源中的一列满足条件时

以下是有效的
MERGE
语句:

    MERGE INTO sometable AS [Target] USING
    (
        --Here SELECT and INNER JOINS and WHERE
    ) AS [Source] ON 1 = 0
    WHEN NOT MATCHED AND [Source].somecolumn > 0 THEN
    INSERT 
        --columns to insert
    VALUES
        --their values
编辑


修改语句以根据文档显示更改。

插入[目标]选择。。。在[source]中,somecolumn>0
似乎是一种更简单的方法?
MERGE
在匹配时只能有一个
UPDATE
DELETE
语句。请看,您不需要使用MERGE,因为您需要[source]没有与[source]连接的INSERT SELECT语句。somecolumn>0可以在[source]中使用“--Here SELECT and internal join and WHERE”我正在使用matched,因为我需要使用OUPUT将多个列输出到一个表类型中。