Oracle CURSOR FOR UPDATE

Zusammenfassung: In diesem Lernprogramm erfahren Sie, wie Sie den aktualisierbaren Oracle-Cursor zum Aktualisieren von Daten in einer Tabelle verwenden.

Einführung in Oracle Cursor FOR UPDATE

Manchmal möchten Sie eine Reihe von Zeilen sperren, bevor Sie sie in Ihrem Programm aktualisieren können. Oracle stellt die FOR UPDATE -Klausel der SELECT -Anweisung in einem aktualisierbaren Cursor bereit, um diese Art von Sperrmechanismus auszuführen.

Hier ist die Syntax zum Deklarieren eines aktualisierbaren Cursors:

Die neue Syntax hier sind die Schlüsselwörter FOR UPDATE.

Sobald Sie den Cursor öffnen, sperrt Oracle alle Zeilen, die mit der Anweisung SELECT ... FOR UPDATE in den in FROM Klausel. Diese Zeilen bleiben gesperrt, bis der Cursor geschlossen wird oder die Transaktion entweder mit COMMIT oder ROLLBACK abgeschlossen wird.

Beachten Sie, dass Oracle alle von der SELECT ... FOR UPDATE während des Updates zurückgegebenen Zeilen sperrt. Daher sollten Sie eine WHERE -Klausel haben, um nur die erforderlichen Zeilen auszuwählen zu sperren.

Wenn Sie eine bestimmte Spalte haben, die Sie aktualisieren möchten, können Sie sie in der FOR UPDATE -Klausel wie folgt auflisten:

In diesem Fall sperrt Oracle nur Zeilen der Tabelle, deren Spaltenname in der Klausel FOR UPDATE OF aufgeführt ist.

Beachten Sie, dass Oracle dies dann tut, wenn Sie nur die Klausel FOR UPDATE verwenden und keine oder mehrere Spalten nach dem Schlüsselwort OF einfügen Sperren Sie alle ausgewählten Zeilen in allen Tabellen, die in der FROM -Klausel aufgeführt sind.

Beispiel für Oracle Cursor FOR UPDATE

Beachten Sie Folgendes Beispiel:

Funktionsweise.

  • Deklarieren Sie zunächst einen aktualisierbaren Cursor, der die Gutschriften der Kunden aktualisiert, deren Gutschriften größer als Null sind.
  • Weiter Führen Sie eine Schleife durch die Zeilen in den Cursorn.
  • Ermitteln Sie anschließend die Anzahl der Bestellungen für jeden Kunden.
  • Weisen Sie anschließend das Kreditinkrement basierend auf der Anzahl der Bestellungen zu.
  • Aktualisieren Sie abschließend das Guthaben des Kunden.

In diesem Lernprogramm haben Sie gelernt, wie Sie mit dem aktualisierbaren Oracle-Cursor Daten in einer Tabelle aktualisieren.

  • War dieses Tutorial hilfreich?
  • JaNein

Schreibe einen Kommentar

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