0
我在SQL Server 2008 R2中執行MERGE語句。我想要做的是有一個NOT MATCHED分支內的多個邏輯:在SQL Server合併語句中添加控制流程
WHEN NOT MATCHED THEN
INSERT (col1, col2, col3)
VALUES (SOURCE.col1, SOURCE.col2, SOURCE.col3)
OUTPUT INSERTED.col1, SOURCE.col4
INTO @Mapping
INSERT INTO @newChildren
( col1,
other columns,)
SELECT
( TARGET.col1,
other columns)
FROM @input
INNER JOIN @Mapping
ON @input.col1 = @Mapping.col2
EXECUTE Children_Create @newChildren;
的想法是做使用INSERT結果形成另一種輸入到另一個存儲過程。但似乎SQL Server 2008 MERGE不支持控制流。我不能用BEGIN/END來包裝這段代碼。任何建議來克服這個限制?
我不相信你可以:這就是語法的定義方式。 – 2012-03-29 00:18:32
所以我想我必須將程序分解爲兩個,一個用於更新,另一個用於插入... – Icerman 2012-03-29 00:31:54