Heim  >  Artikel  >  Datenbank  >  So schreiben Sie gespeicherte Prozeduren in Oracle

So schreiben Sie gespeicherte Prozeduren in Oracle

PHPz
PHPzOriginal
2023-04-18 09:07:433323Durchsuche

Da die Unternehmensanforderungen und die Systemkomplexität zunehmen, erhalten Datenbankspeicherverfahren immer mehr Aufmerksamkeit. Als große relationale Datenbank spielen die gespeicherten Prozeduren von Oracle eine immer wichtigere Rolle bei der Verarbeitung großer Datenmengen. Wie schreibt man also gespeicherte Prozeduren in Oracle?

1. Was ist eine gespeicherte Prozedur?

Eine gespeicherte Prozedur ist eine Reihe von SQL-Anweisungen, die in der Datenbank gespeichert und ausgeführt werden. Einige bestimmte Aufgaben können durch die Ausführung der gespeicherten Prozedur erledigt werden. Dies hat folgende Vorteile:

  1. Verbessert die Ausführungseffizienz der Datenbank.
  2. Vereinfacht das Schreiben von SQL-Anweisungen und verringert die Schwierigkeit der Entwicklung.
  3. Die Datenbanksicherheit wurde verbessert.
  4. Kann die Datenkonsistenz effektiv sicherstellen.

2. Das Syntaxformat gespeicherter Prozeduren

In Oracle muss das Schreiben gespeicherter Prozeduren einem bestimmten Syntaxformat folgen. Die grundlegende Syntax lautet wie folgt:

VERFAHREN ERSTELLEN ODER ERSETZEN, Name der gespeicherten Prozedur
(Parameter 1, Parameter 2,..., Parameter n)
IS

变量1 数据类型;
变量2 数据类型;
……

BEGIN

存储过程体;
EXCEPTION
异常处理语句;

END Name der gespeicherten Prozedur;

Parameterliste und Der Variablendeklarationsteil kann weggelassen werden, der Hauptteil der gespeicherten Prozedur und die Anweisungsteile zur Ausnahmebehandlung sind erforderlich.

3. Beispiel einer gespeicherten Prozedur

Werfen wir nun einen Blick auf eine einfache gespeicherte Prozedur, die verwendet wird, um bestimmte Mitarbeiterinformationen basierend auf den eingehenden Parametern abzufragen.

VERFAHREN ERSTELLEN ODER ERSETZEN: find_employee
(
p_employee_id IN NUMBER,
p_emp_name IN VARCHAR2,
p_emp_salary OUT NUMBER,
p_emp_dept_id OUT NUM. BER
)
IS
BEGIN

SELECT salary, dept_id
INTO p_emp_salary, p_emp_dept_id
FROM employee
WHERE employee_id = p_employee_id AND employee_name = p_emp_name;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('查询出错' || SQLERRM);

END find_employee;

In dieser gespeicherten Prozedur definieren wir Es gibt 4 Parameter: p_employee_id und p_emp_name werden verwendet, um Mitarbeiterinformationen abzufragen, p_emp_salary und p_emp_dept_id werden verwendet, um das Gehalt und die Abteilungs-ID des Mitarbeiters zurückzugeben. Wenn während der Abfrage eine Ausnahme auftritt, verwenden wir DBMS_OUTPUT, um Ausnahmeinformationen auszugeben.

4. Gespeicherte Prozeduren aufrufen

Wir können gespeicherte Prozeduren auf die folgenden zwei Arten aufrufen:

  1. Anonymer Block, der gespeicherte Prozeduren aufruft

Wählen Sie in SQL Developer „SQL-Arbeitsblatt“ und geben Sie den folgenden Code ein:

DECLARE
emp_salary NUMBER;
emp_dept_id NUMBER;
BEGIN
find_employee(100,'Tom',emp_salary,emp_dept_id);
DBMS_OUTPUT.PUT_LINE('salary = ' || emp_salary || ', dept_id = ' | | emp_dept_id);
END ;

  1. Gespeicherte Prozeduren über Anwendungen aufrufen

In Java-Programmen können wir JDBC verwenden, um eine Verbindung zur Oracle-Datenbank herzustellen und dann gespeicherte Prozeduren aufzurufen. Der Beispielcode lautet wie folgt:

CallableStatement stmt = conn.prepareCall("{call find_employee(?,?,?,?)}");
stmt.setInt(1, 100);
stmt.setString(2, "Tom" );
stmt.registerOutParameter(3, java.sql.Types.NUMERIC);
stmt.registerOutParameter(4, java.sql.Types.NUMERIC);
stmt.execute();
int emp_salary = stmt. getInt(3 );
int emp_dept_id = stmt.getInt(4);
System.out.println("salary = " + emp_salary + ", dept_id = " + emp_dept_id);

Über den obigen Code können wir einfach anrufen Führen Sie die gespeicherte Prozedur aus, rufen Sie die Abfrageergebnisse ab und geben Sie die Ergebnisinformationen aus.

Zusammenfassung: Gespeicherte Prozeduren sind ein sehr wichtiger Bestandteil der Oracle-Datenbank. Sie können die Effizienz der Datenverarbeitung verbessern und die Datenkonsistenz und -sicherheit gewährleisten, wodurch die Datenverarbeitung im Unternehmen erheblich vereinfacht wird. Durch diesen Artikel können wir die grundlegende Syntax gespeicherter Oracle-Prozeduren klar verstehen und auch die Beispiele und Aufrufmethoden gespeicherter Prozeduren beherrschen.

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

Stellungnahme:
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