sql >> Base de Datos >  >> RDS >> Sqlserver

Uso de la salida para establecer una variable en una declaración de combinación

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: