Trigger vs. Cursors
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 zum Aufrechterh alten der Integrität in einer Datenbank verwendet. Ein Cursor ist eine Kontrollstruktur, die in Datenbanken verwendet wird, um durch die Datensätze der Datenbank zu gehen. 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. Trigger werden unter anderem hauptsächlich zum Aufrechterh alten der Integrität in einer Datenbank verwendet. Trigger werden auch verwendet, um Geschäftsregeln durchzusetzen, Änderungen in der Datenbank zu prüfen und Daten zu replizieren. Die häufigsten Trigger sind Data Manipulation Language (DML)-Trigger, die ausgelöst werden, wenn Daten manipuliert werden. Einige Datenbanksysteme unterstützen Nicht-Daten-Trigger, die ausgelöst werden, wenn Data Definition Language (DDL)-Ereignisse auftreten. Einige Beispiele sind Trigger, die ausgelöst werden, wenn Tabellen erstellt werden, während Commit- oder Rollback-Operationen auftreten usw. 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) wie After Creation, Before Alter, After Alter, Before Drop, After Drop usw. Die vier Haupttypen von Triggern, die von Oracle unterstützt werden, sind Row Level-Trigger, Sp altenebenen-Trigger, Jeder Zeilentyp-Trigger und Für jeden Anweisungstyp-Trigger.
Was sind Cursor?
Ein Cursor ist eine Kontrollstruktur, die in Datenbanken verwendet wird, um durch die Datensätze der Datenbank zu gehen. Es ist dem Iterator sehr ähnlich, der von vielen Programmiersprachen bereitgestellt wird. Zusätzlich zum Durchlaufen 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 des richtigen Weges können Cursor auch zum Rückwärtsfahren verwendet werden. Wenn eine SQL-Abfrage eine Reihe von Zeilen zurückgibt, werden diese tatsächlich mithilfe von Cursorn verarbeitet. Ein Cursor muss deklariert und mit einem Namen versehen werden, bevor er verwendet werden kann. Dann muss der Cursor mit dem OPEN-Befehl geöffnet werden. Diese Operation würde den Cursor direkt vor die erste 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 bekommen. Abschließend muss der Cursor mit der CLOSE-Operation 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 verwendet wird, um durch die Datenbankeinträge zu gehen. Ein Cursor kann innerhalb eines Triggers deklariert und verwendet werden. In einer solchen Situation wäre die Declare-Anweisung innerhalb des Triggers. Dann wäre der Bereich des Cursors auf diesen Trigger beschränkt. Wenn innerhalb eines Triggers ein Cursor für eine eingefügte oder gelöschte Tabelle deklariert wird, wäre ein solcher Cursor von einem verschachtelten Trigger nicht zugänglich. Sobald ein Trigger abgeschlossen ist, werden alle innerhalb des Triggers erstellten Cursors freigegeben.