sql >> Database >  >> RDS >> Sqlserver

Uitvoer gebruiken om een ​​variabele in een samenvoeginstructie in te stellen

Nee, je moet een tabelvariabele gebruiken met OUTPUT

U kunt dit echter wel doen...

...
WHEN MATCHED THEN 
    UPDATE
    SET
       @int = ID,
       somecolumn = 'something'
WHEN NOT MATCHED THEN
    INSERT 
    VALUES ('stringtomatch',
        'something');

SET @int = ISNULL(@int, SCOPE_IDENTITY());

De "toewijzen in UPDATE" is lange tijd een geldige syntaxis voor SQL Server geweest. Zie MERGE op MSDN te. Beiden zeggen dit:




  1. Groepeer tafel in intervallen van 15 minuten

  2. Hoe kan ik versiebeheer van Database Schema uitvoeren?

  3. ActiveRecord - selecteer het eerste record van elke groep

  4. ModuleNotFoundError:Geen module met de naam 'mysql'