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

Проблем с едновременната транзакция на SQL Server

Направете всичко в едно с някакъв композируем DML?

INSERT INTO order_item (item_no, order_id)
SELECT 
    X.item_no, @order_id
FROM
    (
    MERGE INTO items AS tgt
    USING
      (SELECT TOP (@whatever) item_no
       FROM items
       WHERE status = 'Unused'
      ) AS src ON tgt.item_no = src.item_no
    WHEN MATCHED
      UPDATE SET status = 'Used'
      OUTPUT $action as action, item_no -- $action needed for more complex stuff
    ) AS X
-- WHERE action = 'UPDATE' -- needed for more complex stuff


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да присвоя резултат от exec на sql променлива?

  2. Комбинирайте множество резултати в подзаявка в една стойност, разделена със запетая

  3. ИЗБЕРЕТЕ $ (знак за долар)

  4. Мога ли да създам изглед в моя сървър на база данни от друг сървър на база данни

  5. SQL Server:трябва ли да използвам таблици information_schema над sys таблици?