Heim > Datenbank > Oracle > So rufen Sie eine gespeicherte Prozedur in Oracle auf

So rufen Sie eine gespeicherte Prozedur in Oracle auf

PHPz
Freigeben: 2023-04-18 09:23:55
Original
2059 Leute haben es durchsucht

Oracle ist ein sehr beliebtes relationales Datenbankverwaltungssystem, das die Verwendung gespeicherter Prozeduren zur Implementierung komplexer Geschäftslogik unterstützt. Eine gespeicherte Prozedur ist ein Stück vorkompilierten Codes, der in der Datenbank gespeichert ist und aufgerufen werden kann, um eine Reihe von Vorgängen auszuführen, wodurch die Codekomplexität vereinfacht und die Effizienz verbessert wird. In diesem Artikel besprechen wir, wie gespeicherte Prozeduren in Oracle aufgerufen werden.

  1. Gespeicherte Prozedur definieren

Zuerst müssen wir eine gespeicherte Prozedur in der Datenbank definieren. Gespeicherte Prozeduren können in der Sprache PL/SQL oder SQL geschrieben werden. In PL/SQL lautet die grundlegende Syntax gespeicherter Prozeduren wie folgt:

CREATE [OR REPLACE] PROCEDURE procedure_name
    [ (parameter_name [IN | OUT | IN OUT] type [, ...]) ]
IS
    [declaration_section]
BEGIN
    executable_section
[EXCEPTION
    exception_section]
END [procedure_name];
Nach dem Login kopieren

Unter diesen ist procedure_name der Name der gespeicherten Prozedur, parameter_name der Parametername der gespeicherten Prozedur, type der Datentyp des Parameters und „declaration_section“. ist der Deklarationsteil und executable_section ist der ausführbare Teil,Exception_section ist der Ausnahmebehandlungsteil.

Das Folgende ist zum Beispiel eine einfache gespeicherte Prozedur, die verwendet wird, um die persönlichen Daten von Mitarbeitern basierend auf der Mitarbeiter-ID in der Mitarbeitertabelle abzufragen:

CREATE OR REPLACE PROCEDURE get_employee_info
    (employee_id IN NUMBER, 
    name OUT VARCHAR2,
    email OUT VARCHAR2)
IS
BEGIN
    SELECT first_name || ' ' || last_name, email INTO name, email
    FROM employees
    WHERE employee_id = get_employee_info.employee_id;
END;
Nach dem Login kopieren

In dieser gespeicherten Prozedur definieren wir drei Parameter: Employee_id ist der Eingabeparameter, Name und E-Mail sind Ausgabeparameter. Im ausführbaren Teil verwenden wir eine SELECT-Anweisung, um den Namen und die E-Mail-Adresse des Mitarbeiters aus der Mitarbeitertabelle abzurufen und sie dann in den Ausgabeparametern zu speichern.

  1. Gespeicherte Prozeduren aufrufen

Sobald wir eine gespeicherte Prozedur definiert haben, können wir sie in anderen Programmen aufrufen. Es gibt verschiedene Möglichkeiten, gespeicherte Prozeduren aufzurufen, einschließlich der Verwendung von SQL Developer, PL/SQL Developer oder der Befehlszeilenschnittstelle.

In SQL Developer können Sie die folgende Syntax verwenden, um eine gespeicherte Prozedur aufzurufen:

DECLARE
    variable_name1 datatype;
    variable_name2 datatype;
BEGIN
    procedure_name(parameter_value1, parameter_value2, ..., parameter_valueN);
    variable_name1 := parameter_valueX;
    variable_name2 := parameter_valueY;
END;
Nach dem Login kopieren

wobei Variablenname die Variable ist, die zum Speichern des Ausgabeparameterwerts verwendet wird, Datentyp der Datentyp, Parameterwert der Wert des Eingabeparameters, ParameterwertX und parameter_valueY werden im Wert im Ausgabeparameter gespeichert.

Zum Beispiel können wir die obige gespeicherte Prozedur get_employee_info mit dem folgenden Befehl aufrufen:

DECLARE
    name VARCHAR2(30);
    email VARCHAR2(50);
BEGIN
    get_employee_info(100, name, email);
    DBMS_OUTPUT.PUT_LINE('Name: ' || name);
    DBMS_OUTPUT.PUT_LINE('Email: ' || email);
END;
Nach dem Login kopieren

In diesem Beispiel verwenden wir die Anweisung DBMS_OUTPUT.PUT_LINE im ausführbaren Abschnitt, um den Wert des Ausgabeparameters zu drucken.

Darüber hinaus können Sie in PL/SQL Developer die folgende Syntax verwenden, um gespeicherte Prozeduren aufzurufen:

VARIABLE variable_name1 datatype;
VARIABLE variable_name2 datatype;
EXECUTE procedure_name(parameter_value1, parameter_value2, ..., parameter_valueN);
PRINT variable_name1;
PRINT variable_name2;
Nach dem Login kopieren

In der Befehlszeilenschnittstelle können Sie die folgenden SQL-Anweisungen verwenden, um gespeicherte Prozeduren aufzurufen:

BEGIN
    procedure_name(parameter_value1, parameter_value2, ..., parameter_valueN);
END;
Nach dem Login kopieren
  1. Vorteile von gespeicherten Prozeduren

Einer der Hauptvorteile der Verwendung gespeicherter Prozeduren ist die geringere Codekomplexität. Gespeicherte Prozeduren können komplexe Logik in einer einzigen Einheit kapseln und so das Schreiben und Warten von Code vereinfachen. Darüber hinaus können gespeicherte Prozeduren die Leistung verbessern, da sie vorkompiliert sind, was eine schnellere Ausführung über mehrere Ausführungen hinweg ermöglicht.

Darüber hinaus bieten gespeicherte Prozeduren auch ein gewisses Maß an Sicherheit. Gespeicherte Prozeduren können auf dem Datenbankserver und nicht auf dem Client ausgeführt werden. Dies bedeutet, dass der Code für die gespeicherte Prozedur nicht über das Netzwerk an den Client übertragen wird und keine vertraulichen Informationen offengelegt werden.

Kurz gesagt, gespeicherte Prozeduren sind eine sehr nützliche Funktion in Oracle, die die Leistung und Sicherheit von Datenbankanwendungen bis zu einem gewissen Grad verbessern kann. Wir können gespeicherte Prozeduren über die oben genannten Methoden aufrufen und sie in zukünftigen Aufgaben verwenden, um komplexe Vorgänge auszuführen.

Das obige ist der detaillierte Inhalt vonSo rufen Sie eine gespeicherte Prozedur in Oracle auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage