No, tienes que usar una variable de tabla con SALIDA
Sin embargo, puedes hacer esto...
...
WHEN MATCHED THEN
UPDATE
SET
@int = ID,
somecolumn = 'something'
WHEN NOT MATCHED THEN
INSERT
VALUES ('stringtomatch',
'something');
SET @int = ISNULL(@int, SCOPE_IDENTITY());
El "asignar en ACTUALIZAR" ha sido una sintaxis válida para SQL Server durante mucho tiempo. Consulte MERGE en MSDN también. Ambos dicen esto: