Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Използване на изход за задаване на променлива в оператор за сливане

Не, трябва да използвате таблична променлива с OUTPUT

Можете обаче да направите това...

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

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

"присвояване в АКТУАЛИЗАЦИЯ" е валиден синтаксис за SQL Server от дълго време. Вижте MERGE на MSDN също. И двамата казват това:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Налагане на уникални полета за диапазон от дати в SQL Server 2008

  2. Spotlight Cloud Basic:Най-добрият безплатен инструмент за наблюдение на производителността на базата данни

  3. Какво е @@TEXTSIZE в SQL Server?

  4. Вмъкване на данни от SQL Server в Salesforce с курсор

  5. SQL Server преобразува низ в дата и час