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:
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:
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 ;
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!