Aktualisierungen basierend auf Abfragen
8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Sonstiges | PL / SQL | SQL | RAC | WebLogic | Linux
Home „Artikel“ Sonstiges „hier
In diesem Artikel wird beschrieben, wie eine Tabelle mithilfe von Daten aus einer anderen Tabelle aktualisiert werden kann.
- Setup
- Unterabfragemethode
- Inline-Ansichtsmethode
- MERGE-Anweisungsmethode
Verwandte Artikel.
- MERGE-Anweisung
Setup
Die Tabelle DEST_TAB
enthält 10.000 Zeilen. Die Tabelle enthält 5.000 Zeilen, von denen jede einen übereinstimmenden Schlüsselwert mit einer Zeile aus der Tabelle DEST_TAB
hat, jedoch unterschiedliche Daten in der Tabelle CODE
und DESCRIPTION
Spalten.
Zu diesem Zeitpunkt können wir keinen der Werte in DESCRIPTION
der Tabelle DEST_TAB
enthält das Wort „Updated“.
SELECT COUNT(*)FROM dest_tabWHERE description LIKE "Updated%"; COUNT(*)---------- 0SQL>
Ziel ist die Aktualisierung der Zeilen in der Tabelle DEST_TAB
mit den Daten aus der Tabelle SOURCE_TAB
.
Unterabfragemethode
T. Die erste Option besteht darin, die Tabelle DEST_TAB
mithilfe einer Unterabfrage zu aktualisieren, um die richtigen Daten aus der Tabelle SOURCE_TAB
abzurufen. Beachten Sie das Prädikat EXISTS
, um Zeilen aus der Tabelle DEST_TAB
ohne übereinstimmende Zeile in der Tabelle SOURCE_TAB
Tabelle. Ohne dies werden die Werte für nicht übereinstimmende Zeilen auf NULL gesetzt.
Der Ausführungsplan für das aktuelle Datenvolumen wird unten angezeigt.
Wenn die Arbeitslast ausreichend groß ist und der Server dies kann Um die zusätzliche Arbeitslast zu bewältigen, kann der Hinweis PARALLEL
verwendet werden, um diese parallel auszuführen.
Inline-Ansichtsmethode
Die zweite Option besteht darin, die beiden Tabellen als Inline-Ansicht zu verbinden und die Aktualisierung darauf aufzubauen.
Der Ausführungsplan für das aktuelle Datenvolumen wird unten angezeigt.
Wenn die Arbeitslast ausreichend groß ist und Der Server kann die zusätzliche Arbeitslast bewältigen. Der Hinweis PARALLEL
kann verwendet werden, um diese parallel auszuführen.
Die Anzahl der aktualisierten Zeilen kann durch Hinzufügen geändert werden eine WHERE
-Klausel für die Inline-Ansicht oder die Hauptaktualisierungsanweisung.
- MERGE-Anweisung
Hoffe dies hilft. Grüße Tim …
Zurück zum Anfang.