Oracle ist ein bekanntes relationales Datenbankverwaltungssystem, das häufig bei der Entwicklung und Wartung großer Systeme auf Unternehmensebene verwendet wird. In Oracle sind gespeicherte Prozeduren und Trigger zwei sehr wichtige Datenbankobjekte. In diesem Artikel werden ihre Funktionen und ihre Verwendung vorgestellt.
1. Gespeicherte Prozedur
1. Funktion
Eine gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen, die kompiliert und in der Datenbank gespeichert werden. Sie kann wie eine Funktion aufgerufen werden, Eingabeparameter empfangen und ein Ergebnis zurückgeben. Gespeicherte Prozeduren können verschiedene komplexe Vorgänge ausführen, z. B. Datenabfragen, Datenänderungen, Datensicherungen usw. Sie vereinfachen die Arbeit der Datenbankprogrammierung erheblich.
2. Erstellen
In Oracle erfordert die Erstellung einer gespeicherten Prozedur die Verwendung der PL/SQL-Sprache, die mit Tools wie SQL Developer oder SQL*Plus erstellt und bearbeitet werden kann. Das Folgende ist ein einfaches Beispiel für die Erstellung einer gespeicherten Prozedur:
CREATE OR REPLACE PROCEDURE p_add (x IN NUMBER, y IN NUMBER, z OUT NUMBER) IS BEGIN z := x + y; END p_add;
Im obigen Beispiel definieren wir eine gespeicherte Prozedur namens p_add, die zwei Eingabeparameter x und y und einen Ausgabeparameter z hat. Im Hauptteil der gespeicherten Prozedur fügen wir die Eingabeparameter x und y hinzu und weisen das Ergebnis dem Ausgabeparameter z zu.
3. Aufruf
Nachdem wir die gespeicherte Prozedur erstellt haben, können wir die darin enthaltene SQL-Anweisung ausführen, indem wir sie aufrufen. Es gibt zwei Möglichkeiten, gespeicherte Prozeduren in PL/SQL aufzurufen:
EXECUTE p_add(1,2,:OUT);
Im obigen Beispiel haben wir die gespeicherte Prozedur mit dem Namen p_add aufgerufen, die Parameter 1 und 2 übergeben und die OUT-Parameterausgabe verwendet Ergebnis.
DECLARE a NUMBER; BEGIN p_add(1,2,a); DBMS_OUTPUT.PUT_LINE('The result is: ' || a); END;
Im obigen Beispiel haben wir einen PL/SQL-Block verwendet, um die gespeicherte Prozedur aufzurufen und das Ergebnis auszugeben.
2. Auslöser
1. Funktion
Ein Auslöser ist ein spezielles Objekt, das einer Tabelle zugeordnet ist und automatisch einige Vorgänge ausführen kann, wenn INSERT-, UPDATE- und DELETE-Vorgänge für die Tabelle ausgeführt werden. Trigger können für Vorgänge wie Datenüberprüfung, Datenreplikation und Datensicherung verwendet werden.
2. Erstellen
In Oracle erfordert das Erstellen eines Triggers die Verwendung der PL/SQL-Sprache. Sie können zum Erstellen und Bearbeiten auch Tools wie SQL Developer oder SQL*Plus verwenden. Das Folgende ist ein einfaches Beispiel für die Erstellung eines Triggers:
CREATE OR REPLACE TRIGGER trg_ins_emp BEFORE INSERT ON emp FOR EACH ROW BEGIN :NEW.create_time := SYSDATE; END trg_ins_emp;
Im obigen Beispiel definieren wir einen Trigger mit dem Namen trg_ins_emp und weisen dem Feld „create_time“ die aktuelle Zeit zu, bevor jeder neue Datensatz in die emp-Tabelle eingefügt wird.
Im obigen Beispiel bedeutet das Schlüsselwort BEFORE, dass der Trigger ausgelöst wird, bevor Daten eingefügt werden, und FOR EACH ROW bedeutet, dass er jedes Mal ausgelöst wird, wenn die INSERT-Anweisung ausgeführt wird.
3. Nachdem wir
aufgerufen haben, um einen Trigger zu erstellen, müssen wir ihn nicht manuell aufrufen. Wir müssen nur INSERT-, UPDATE- und DELETE-Operationen für die entsprechende Tabelle ausführen, um den Trigger auszulösen. Das Folgende ist ein einfaches Beispiel für die Durchführung einer INSERT-Operation:
INSERT INTO emp (name, salary) VALUES ('Jack', 5000);
Im obigen Beispiel fügen wir einen Datensatz in die emp-Tabelle ein. Da wir einen Trigger mit dem Namen trg_ins_emp erstellt haben, wird das Feld create_time beim Einfügen des Datensatzes automatisch den Wert zuweisen auf die aktuelle Zeit.
3. Zusammenfassung
Gespeicherte Prozeduren und Trigger sind zwei sehr wichtige Objekte in Oracle. Sie vereinfachen die Arbeit der Datenbankprogrammierung erheblich. Gespeicherte Prozeduren können komplexe SQL-Operationen kapseln und so die Wartbarkeit und Wiederverwendbarkeit des Codes erheblich verbessern. Trigger können einige Vorgänge während Tabellenoperationen automatisch ausführen, um sich wiederholende Arbeiten zu vermeiden. Ich hoffe, dass dieser Artikel den Lesern helfen kann, die gespeicherten Prozeduren und Trigger der Oracle-Datenbank besser zu verstehen.
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der gespeicherten Prozeduren und Trigger von Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!