Я делаю оператор MERGE в SQL Server 2008 R2.Я хочу, чтобы внутри ветви NOT MATCHED было больше логики:
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, чтобы обернуть этот код.Любые предложения по преодолению этого ограничения?