Wie zu aktivieren, erstellen, aktualisieren, löschen & Insert-Anweisungen für die Oracle-Datenbank

June 17

Die Oracle-Datenbank ist eine Objekt-relationale Datenbank-Management-System, bestehend aus einer Anwendung und Datenspeicherung. Ein Trigger ist ein benanntes Programm in einer Oracle-Datenbank gespeichert und nach einem bestimmten Ereignis ausgeführt. Dieses Ereignis kann eine Datenbankmanipulation, einer Definition oder einem Betrieb, einer Tabelle oder einer Ansicht, Schema oder Datenbank zugeordnet sein. Trigger werden in Oracle standardmäßig aktiviert. Beispiele für Trigger zugeordnet Datenbankmanipulation DELETE-, INSERT- und UPDATE-Anweisungen.

Anweisungen

1 Vergewissern Sie, dass Sie die richtigen Berechtigungen zum Trigger verwenden. Müssen Sie die CREATE TRIGGER Systemrechten sowie die Berechtigung zum Ändern von Tabellen mit den Namen in der auslösenden Anweisung. Wenn Sie im Zweifel über Ihre Privilegien sind, kontaktieren Sie Ihren Systemadministrator.

2 Eine CREATE TRIGGER-Anweisung in den Code einfügen. Der folgende Code führt z. B. Wenn eine Datenbankoperation Verwaltung auf dem Tisch erfolgt:

Erstellen Sie oder ersetzen Sie TRIGGER Print_salary_changesVor dem Löschen oder einfügen oder UPDATE ON empFÜR JEDE ZEILEWENN (NEU. EMPNO > 0)DEKLARIEREN

sal_diff number;

BEGIN

sal_diff := :NEW.SAL - :OLD.SAL; dbms_output.put('Old salary: ' || :OLD.sal); dbms_output.put(' New salary: ' || :NEW.sal); dbms_output.put_line(' Difference ' || sal_diff);

ENDE;/

3 Ändern Sie den Code darstellen, wenn Sie möchten, dass den Trigger ausgelöst. Die vor-Anweisung gibt, dass der Trigger ausgeführt werden soll, bevor die Tabelle zugegriffen wird. Die Anweisung kann zu AFTER geändert werden, wenn den Trigger zu ändern oder die gleiche Tabelle abfragen soll.

4 Ändern Sie den Code, um nachzudenken, ob Sie den Trigger einmal oder mehrere Male. In diesem Beispiel bedeutet FOR EACH ROW, dass Sie den Trigger einmal für jede Zeile in der Tabelle. Wenn Sie diese Codezeile löschen, wird der Trigger für jede Anweisung einmal ausgelöst.

5 Ändern Sie die WHEN-Klausel, um anzugeben, wenn der Trigger-Körper auf einer Zeile ausgeführt wird. In diesem Beispiel wenn (NEW. EMPNO > 0) gibt an, dass die Triggertexts nur ausgeführt wird, wenn EMPNO positiv ist.

Tipps & Warnungen

  • Wenn Sie einen Trigger deaktivieren möchten, verwenden Sie eine ALTER TRIGGER-Anweisung mit einer DISABLE-Klausel. Fügen Sie beispielsweise um ein Einkommen Tabelle zugeordneten Trigger zu deaktivieren, die folgende Codezeile:
  • ALTER TABLE Einkommen alle Trigger deaktivieren;