sql >> Databáze >  >> RDS >> Sqlserver

Příkaz více aktualizací v SQL Server MERGE

Upozorňujeme, že toto není odpověď na otázku OP, jedná se pouze o rozpracování klauzule MERGE.

Podle MSDN , "Pokud existují dva WHEN MATCHED klauzule, pak je třeba zadat UPDATE akce a jeden musí zadat DELETE akce".

WHEN MATCHED THEN <merge_matched>

Určuje, že všechny řádky cílové_tabulky, které odpovídají řádkům vráceným ON <merge_search_condition> a splňují všechny další podmínky vyhledávání, jsou buď aktualizovány nebo odstraněny podle klauzule . MERGE příkaz může mít maximálně dva WHEN MATCHED klauzule.

Pokud jsou zadány dvě klauzule, musí být první klauzule doprovázena AND <search_condition> doložka. Pro každý daný řádek druhý WHEN MATCHED klauzule se použije pouze v případě, že první není. Pokud existují dva WHEN MATCHED klauzule, pak je třeba zadat UPDATE action a jeden musí specifikovat akci DELETE.

Zdroj:MSDN

Doufám, že to pomůže.



  1. ERROR 1064 (42000):Máte chybu v syntaxi SQL; Chcete nakonfigurovat heslo jako uživatel root

  2. MySQL GROUP BY NULL a EMPTY

  3. Dotaz na kontrolu překrývajících se rozsahů na serveru SQL?

  4. Použití sqldf a RPostgreSQL společně