Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Instrukcja wielokrotnej aktualizacji w SQL Server MERGE

Pamiętaj, że nie było to odpowiedzią na pytanie OP, było to tylko rozwinięcie klauzuli MERGE.

Zgodnie z MSDN , "Jeśli są dwa WHEN MATCHED klauzul, należy podać UPDATE akcja i należy podać DELETE działanie".

WHEN MATCHED THEN <merge_matched>

Określa, że ​​wszystkie wiersze tabeli target_table, które pasują do wierszy zwróconych przez ON <merge_search_condition> i spełniają wszelkie dodatkowe warunki wyszukiwania, są aktualizowane lub usuwane zgodnie z klauzulą ​​. MERGE instrukcja może mieć co najwyżej dwa WHEN MATCHED klauzule.

Jeśli określono dwie klauzule, pierwszej klauzuli musi towarzyszyć AND <search_condition> klauzula. Dla dowolnego wiersza drugi WHEN MATCHED klauzula jest stosowana tylko wtedy, gdy pierwsza nie jest. Jeśli są dwa WHEN MATCHED klauzul, należy podać UPDATE akcja i należy określić akcję DELETE.

Źródło:MSDN

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyrażenie ścieżki XML zawierające znaki specjalne

  2. SQL Server, połączenie LIKE i IN?

  3. obliczyć rok obrotowy w zestawieniu sql select?

  4. SQL Server:Dwupoziomowe GROUP BY z wyjściem XML

  5. Refaktoryzacja ADO.NET - SqlTransaction a TransactionScope