fckertube.com

  

Beste Artikel:

  
Main / Oracle verschmelzen zu Update wo SQL

Oracle verschmilzt mit Update wo SQL

Verwenden Sie die MERGE-Anweisung, um Zeilen aus einer oder mehreren Quellen zum Aktualisieren oder Einfügen in eine oder mehrere Tabellen auszuwählen. Sie können Bedingungen angeben, um zu bestimmen, ob aktualisiert oder in die Zieltabellen eingefügt werden soll. Diese Anweisung ist eine bequeme Möglichkeit, mehrere Operationen zu kombinieren. MERGE ist eine deterministische Aussage. Das heißt, Sie können dieselbe Zeile der Zieltabelle nicht mehrmals in derselben MERGE-Anweisung aktualisieren. Die Quelle kann eine Tabelle, eine Ansicht oder das Ergebnis einer Unterabfrage sein. Für jede Zeile in der Zieltabelle, für die die Suchbedingung erfüllt ist, aktualisiert Oracle Database die Zeile mit den entsprechenden Daten aus der Quelltabelle.

Wenn die Bedingung für keine Zeilen erfüllt ist, wird die Datenbank basierend auf der entsprechenden Quelltabellenzeile in die Zieltabelle eingefügt. Oracle führt dieses Update durch, wenn die Bedingung der ON-Klausel erfüllt ist.

Wenn die Update-Klausel ausgeführt wird, werden alle in der Zieltabelle definierten Update-Trigger aktiviert. Die Bedingung kann sich entweder auf die Datenquelle oder die Zieltabelle beziehen. Wenn die Bedingung nicht erfüllt ist, überspringt die Datenbank den Aktualisierungsvorgang, wenn die Zeile in die Tabelle eingefügt wird. Die einzigen von dieser Klausel betroffenen Zeilen sind die Zeilen in der Zieltabelle, die durch den Zusammenführungsvorgang aktualisiert werden.

WO Zustand. Alle in der Zieltabelle definierten Löschauslöser werden für jede Zeilenlöschung aktiviert. Wenn Sie beide angeben, können sie in beliebiger Reihenfolge vorliegen.

Sie können keine Spalte aktualisieren, auf die in der ON-Bedingungsklausel verwiesen wird. Wenn die Einfügeklausel ausgeführt wird, werden alle in der Zieltabelle definierten Einfügetrigger aktiviert. Um alle Quellzeilen in die Tabelle einzufügen, können Sie ein konstantes Filterprädikat in der ON-Klauselbedingung verwenden.

Oracle Database erkennt ein solches Prädikat und fügt alle Quellzeilen bedingungslos in die Tabelle ein. In diesem Fall muss die Datenbank noch einen Join ausführen. Bei einem konstanten Filterprädikat wird keine Verknüpfung ausgeführt. Die Bedingung kann sich nur auf die Datenquellentabelle beziehen. Oracle Database überspringt den Einfügevorgang für alle Zeilen, für die die Bedingung nicht erfüllt ist.

Im folgenden Beispiel wird eine Bonustabelle im Beispielschema oe mit einem Standardbonus von 100 erstellt. Syntax merge :: Beispiele Zusammenführen in eine Tabelle: Beispiel Im folgenden Beispiel wird eine Bonustabelle im Beispielschema oe mit einem Standardbonus von 100 erstellt. Buch Aufführen.

(с) 2019 fckertube.com