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将多个列输出到一个表类型中。