Trigger gegen Cursor
In einer Datenbank ist ein Trigger eine Prozedur (Codesegment), die automatisch ausgeführt wird, wenn bestimmte Ereignisse in einer Tabelle / Ansicht auftreten. Trigger werden unter anderem hauptsächlich zur Aufrechterhaltung der Integrität in einer Datenbank verwendet. Ein Cursor ist eine Kontrollstruktur, die in Datenbanken zum Durchsuchen der Datenbankeinträge verwendet wird. Es ist dem Iterator vieler Programmiersprachen sehr ähnlich.
Was sind Auslöser?
Ein Trigger ist eine Prozedur (Codesegment), die automatisch ausgeführt wird, wenn bestimmte Ereignisse in einer Tabelle / Ansicht einer Datenbank auftreten. Trigger werden unter anderem hauptsächlich zur Aufrechterhaltung der Integrität in einer Datenbank verwendet. Trigger werden auch zum Durchsetzen von Geschäftsregeln, zum Überwachen von Änderungen in der Datenbank und zum Replizieren von Daten verwendet. Die häufigsten Auslöser sind DML-Auslöser (Data Manipulation Language), die bei der Datenmanipulation ausgelöst werden. Einige Datenbanksysteme unterstützen Nicht-Daten-Trigger, die ausgelöst werden, wenn DDL-Ereignisse (Data Definition Language) auftreten. Einige Beispiele sind Trigger, die beim Erstellen von Tabellen, beim Festschreiben oder beim Zurücksetzen usw. ausgelöst werden. Diese Trigger können insbesondere für die Überwachung verwendet werden. Das Oracle-Datenbanksystem unterstützt Trigger auf Schemaebene (d. H. Trigger, die ausgelöst werden, wenn Datenbankschemata geändert werden), z. B. Nach der Erstellung, Vor dem Ändern, Nach dem Ändern, Vor dem Löschen, Nach dem Löschen usw. Die vier von Oracle unterstützten Haupttypen von Triggern sind Trigger auf Zeilenebene, Trigger auf Spaltenebene, Trigger für jeden Zeilentyp und Für jeden Anweisungstyp wird ausgelöst.
Was sind Cursor?
Ein Cursor ist eine Kontrollstruktur, die in Datenbanken zum Durchsuchen der Datenbankeinträge verwendet wird. Es ist dem Iterator vieler Programmiersprachen sehr ähnlich. Neben dem Durchsuchen von Datensätzen in einer Datenbank erleichtern Cursor auch das Abrufen von Daten sowie das Hinzufügen und Löschen von Datensätzen. Durch die Definition der richtigen Methode können Cursor auch zum Rückwärtsfahren verwendet werden. Wenn eine SQL-Abfrage eine Reihe von Zeilen zurückgibt, werden diese tatsächlich mit Cursorn verarbeitet. Ein Cursor muss deklariert und mit einem Namen versehen werden, bevor er verwendet werden kann. Dann muss der Cursor mit dem Befehl OPEN geöffnet werden. Diese Operation würde den Cursor direkt vor der ersten Zeile der Ergebnismenge von Datensätzen platzieren. Dann muss der Cursor die FETCH-Operation ausführen, um tatsächlich eine Datenzeile in die Anwendung zu erhalten. Schließlich muss der Cursor mit der Operation CLOSE geschlossen werden. Geschlossene Cursor können wieder geöffnet werden.
Was ist der Unterschied zwischen Triggern und Cursorn?
Ein Trigger ist eine Prozedur (Codesegment), die automatisch ausgeführt wird, wenn bestimmte Ereignisse in einer Tabelle / Ansicht einer Datenbank auftreten, während ein Cursor eine Kontrollstruktur ist, die in Datenbanken zum Durchsuchen der Datenbankeinträge verwendet wird. Ein Cursor kann innerhalb eines Triggers deklariert und verwendet werden. In einer solchen Situation würde sich die Deklarationsanweisung im Trigger befinden. Dann wäre der Umfang des Cursors auf diesen Trigger beschränkt. Wenn innerhalb eines Triggers ein Cursor in einer eingefügten oder gelöschten Tabelle deklariert ist, kann auf einen solchen Cursor von einem verschachtelten Trigger aus nicht zugegriffen werden. Sobald ein Trigger abgeschlossen ist, werden alle im Trigger erstellten Cursor freigegeben.