Nein, Sie müssen eine Tabellenvariable mit OUTPUT
verwendenSie können dies jedoch tun ...
...
WHEN MATCHED THEN
UPDATE
SET
@int = ID,
somecolumn = 'something'
WHEN NOT MATCHED THEN
INSERT
VALUES ('stringtomatch',
'something');
SET @int = ISNULL(@int, SCOPE_IDENTITY());
Der "Assign in UPDATE" ist seit langem eine gültige Syntax für SQL Server. Siehe MERGE auf MSDN zu. Beide sagen dies: