Trigger gegen Cursors
In einer Datenbank ist ein Trigger eine Prozedur (Codesegment), die automatisch ausgeführt wird, wenn bestimmte Ereignisse in einer Tabelle / Sicht auftreten. Auslöser werden unter anderem für die Aufrechterhaltung der Integrität in einer Datenbank verwendet. Ein Cursor ist eine Kontrollstruktur, die in Datenbanken verwendet wird, um die Datenbanksätze zu durchlaufen. Es ist dem Iterator sehr ähnlich, der von vielen Programmiersprachen bereitgestellt wird.
Was sind Trigger??
Ein Trigger ist eine Prozedur (Codesegment), die automatisch ausgeführt wird, wenn bestimmte Ereignisse in einer Tabelle / Ansicht einer Datenbank auftreten. Auslöser werden unter anderem für die Aufrechterhaltung der Integrität in einer Datenbank verwendet. Trigger werden auch zum Erzwingen 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 ausgelöst werden, wenn Daten manipuliert werden. Einige Datenbanksysteme unterstützen Nicht-Daten-Trigger, die ausgelöst werden, wenn DDL-Ereignisse (Data Definition Language) auftreten. Einige Beispiele sind Auslöser, die ausgelöst werden, wenn Tabellen erstellt werden, während Commit- oder Rollback-Vorgänge ausgeführt werden usw. Diese Auslöser können insbesondere für die Überwachung verwendet werden. Das Oracle-Datenbanksystem unterstützt Trigger auf Schemaebene (dh Auslöser, die ausgelöst werden, wenn Datenbankschemas geändert werden), z. B. After Creation, Before Alter, After Alter, Before Drop, After Drop usw. Auslöser für Spaltenebenen, Auslöser für jeden Zeilentyp und Für jeden Anweisungstyp.
Was sind Cursors??
Ein Cursor ist eine Kontrollstruktur, die in Datenbanken verwendet wird, um die Datenbanksätze zu durchlaufen. Es ist dem Iterator sehr ähnlich, der von vielen Programmiersprachen bereitgestellt wird. Cursor durchlaufen Datensätze in einer Datenbank und erleichtern das Abrufen, Hinzufügen und Löschen von Datensätzen. Wenn Sie den richtigen Weg definieren, können Cursor auch zum Rückwärtsfahren verwendet werden. Wenn eine SQL-Abfrage einen Satz von Zeilen zurückgibt, werden diese tatsächlich mit Cursor 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. Dieser Vorgang würde den Cursor direkt vor der ersten Zeile der Ergebnismenge der Datensätze platzieren. Dann muss der Cursor die FETCH-Operation ausführen, um tatsächlich eine Datenzeile in die Anwendung zu bekommen. Zum Schluss muss der Cursor mit der Operation CLOSE geschlossen werden. Geschlossene Cursor können wieder geöffnet werden.
Was ist der Unterschied zwischen Auslösern und Cursors??
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 Durchlaufen der Datenbankdatensätze verwendet wird. Ein Cursor kann innerhalb eines Triggers deklariert und verwendet werden. In einer solchen Situation würde sich die Deklarationsanweisung im Auslöser befinden. Dann wäre der Gültigkeitsbereich des Cursors auf diesen Auslöser beschränkt. Wenn innerhalb eines Triggers ein Cursor für eine eingefügte oder eine gelöschte Tabelle deklariert wird, ist ein solcher Cursor nicht über einen verschachtelten Trigger zugänglich. Sobald ein Trigger abgeschlossen ist, werden alle im Trigger erstellten Cursor aufgehoben.