Heim > Datenbank > MySQL-Tutorial > Detaillierte Erläuterung der gespeicherten Funktionen und gespeicherten Prozeduren in Oracle

Detaillierte Erläuterung der gespeicherten Funktionen und gespeicherten Prozeduren in Oracle

小云云
Freigeben: 2017-12-18 10:25:29
Original
1759 Leute haben es durchsucht

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;
Nach dem Login kopieren

Fall:

Rufen Sie die gespeicherte Prozedur auf

create or replace procedure add_(a int,b int)
  is 
   c int;
  begin
   c:=a+b;
   dbms_output.put_line(c);
  end;
Nach dem Login kopieren

Drei Arten von Parametern für die gespeicherte Prozedur:

Eingabeparameter (Standard) in
 declare
  begin 
   add_(12,34);
  end;
Nach dem Login kopieren

Ausgabeparameter aus

Eingabe- und Ausgabeparameter in out

Funktionsdefinition

Grammatikstruktur:

Kasus:

 create or replace function 函数名(参数列表) return 类型
   is
   begin
   end;
Nach dem Login kopieren

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;
Nach dem Login kopieren

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


So ändern Sie den Speicherort der Datendatei Tabellenbereich in Oracle

Detaillierte Erläuterung der allgemeinen Funktion Trunc von 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!

Verwandte Etiketten:
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