Merge (SQL)

Een MERGE-opdracht in SQL wordt gebruikt in combinatie met INSERT en UPDATE voor het invoegen en/of bijwerken van bestaande records afhankelijk van de opgegeven conditie. Een niet-bestaand record in een tabel wordt ingevoegd (INSERTed) of, als het record wel bestaat, worden de gegevens ervan bijgewerkt (UPDATEd). Het werd voor het eerst geïntroduceerd in de SQL:2003-standaard, en later uitgebreid in de SQL:2008-standaard.

Het MERGE-statement is met name praktisch bij het uitvoeren van meerdere INSERT en UPDATE instructies omdat er slechts een instructie gebruikt hoeft te worden.

Sommige implementaties gebruiken de term 'Upsert', een porte-manteau van Update en Insert. Dit synoniem wordt toegepast in SQLite en Microsoft Azure SQL.

Gebruik

 MERGE INTO doeltabel USING brontabel ON (conditie)
   WHEN MATCHED THEN
   UPDATE SET kolom1 = waarde1 [, kolom2 = waarde2 ...]
   WHEN NOT MATCHED THEN
   INSERT (kolom1 [, kolom2 ...]) VALUES (waarde1 [, waarde2 ...]);

Voorbeeld

Om aantallen bij te werken of in te voegen in de tabel 'verkoop' waarbij het artikelID gelijk is, gebruikt men:

 MERGE INTO verkoop USING producten ON (producten.artikelID = verkoop.artikelID)
   WHEN MATCHED THEN
   UPDATE SET aantal = 50
   WHEN NOT MATCHED THEN
   INSERT (aantal) VALUES (50);

Zie ook

  • (en) MERGE MSDN-documentatie
  • (en) Introduction to the MERGE Statement Essential SQL
  • (en) MERGE Statement documentatie van PostgreSQL

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.