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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.