Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL Server 2005, Massen-UPDATE oder INSERT

Blog von Alex Kuznetsov enthält einen Vorschlag mit dem OUTPUT -Klausel eines UPDATE Aussage. Um das Beispiel aus diesem Blogeintrag (ungetestet) zu paraphrasieren:

DECLARE @updated_ids table(id int)

UPDATE table
   SET ...
OUTPUT inserted.id INTO @updated_ids
  FROM table INNER JOIN data-to-insert ON table.id = data-to-insert.id 

INSERT INTO table
SELECT ...
  FROM data-to-insert
 WHERE id NOT IN (SELECT id FROM @updated_ids)