sql >> Databasteknik >  >> RDS >> Sqlserver

Problem med samtidiga transaktioner i SQL Server

Göra allt i ett med lite komponerbar 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. Använda Oracle JDeveloper Snippets med MySQL

  2. Hur man skapar ett databasdiagram i Access

  3. PostgreSQL:prestanda för select null vs false

  4. Kan jag göra en atomic inkrement i Rails 2.3 utan att gå ner till SQL?