Funktionen und gespeicherte Prozeduren werden häufig in ihrer Syntax verwendet, aber sie haben auch ihre Unterschiede. Dieser Artikel stellt hauptsächlich den Unterschied zwischen gespeicherten Funktionen und gespeicherten Prozeduren in Oracle vor Freunde, die es brauchen, können sich darauf beziehen. Ich hoffe, es kann allen helfen.
Ich habe in dieser Zeit gerade das Erlernen von Funktionen und gespeicherten Prozeduren abgeschlossen, also lassen Sie mich eine Zusammenfassung geben:
1: Gespeicherte Prozeduren: Einfach ausgedrückt werden sie als pl/sql-Blöcke bezeichnet.
Grammatikstruktur:
create or replace 存储过程名(参数列表) is --定义变量 begin --pl/sql end;
Fall:
Rufen Sie die gespeicherte Prozedur aufcreate or replace procedure add_(a int,b int) is c int; begin c:=a+b; dbms_output.put_line(c); end;Drei Arten von Parametern für die gespeicherte Prozedur: Eingabeparameter (Standard) in
declare begin add_(12,34); end;
Ausgabeparameter aus
Eingabe- und Ausgabeparameter in out
Funktionsdefinition
Grammatikstruktur:
Kasus:create or replace function 函数名(参数列表) return 类型 is begin end;Der Unterschied und die Verbindung zwischen gespeicherten Prozeduren und gespeicherten Funktionen: Gleiche Punkte: 1. Erstellen Die Syntaxstruktur ist ähnlich und beide können mehrere eingehende und ausgehende Daten übertragen Parameter;
create or replace function f1(n1 dec,n2 dec) return dec is r dec(19,2); begin r:=n1/n2; return r; exception when zero_pide then dbms_output.put_line('除数不能为0'); return 0; end;
Sie werden einmal kompiliert und mehrmals ausgeführt
Unterschiede: 1. Gespeichertes Prozedurdefinitionsschlüsselwort
2 . Sie können Return nicht verwenden, um einen Wert in einer gespeicherten Prozedur zurückzugeben, aber Sie können ihn in einer Funktion verwenden, und es muss eine Rückgabe in der Funktion vorhanden sein.
3 Die Ausführungsmethode ist etwas anders Es gibt zwei Möglichkeiten, gespeicherte Prozeduren auszuführen (1. Verwenden Sie „execute“; 2. Verwenden Sie „begin“ und „end“). Zusätzlich zu den beiden Arten von
gespeicherten Prozeduren können Funktionen auch als Ausdrücke verwendet werden, z. B. in „select“. (wählen Sie f1() aus dual;)
Zusammenfassung: Wenn es nur einen Rückgabewert gibt, verwenden Sie eine gespeicherte Funktion, andernfalls verwenden Sie im Allgemeinen eine gespeicherte Prozedur.
Verwandte Empfehlungen:
So verwenden Sie die Dekodierfunktion in Oracle
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der gespeicherten Funktionen und gespeicherten Prozeduren in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!