Heim  >  Artikel  >  Datenbank  >  Was beinhaltet die Grundstruktur gespeicherter Oracle-Prozeduren?

Was beinhaltet die Grundstruktur gespeicherter Oracle-Prozeduren?

青灯夜游
青灯夜游Original
2022-03-02 16:52:153911Durchsuche

Die Struktur der gespeicherten Prozedur von Oracle besteht aus drei Teilen: 1. Prozessdeklaration; Debuggen, Ausnahmen schreiben.

Was beinhaltet die Grundstruktur gespeicherter Oracle-Prozeduren?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Oracle 11g-Version, Dell G3-Computer.

Was ist eine gespeicherte Prozedur?

Gespeicherte Prozedur: Baidu Encyclopedia erklärt es so: Eine gespeicherte Prozedur (Stored Procedure) ist eine Reihe von SQL-Anweisungen in einem großen Datenbanksystem, um bestimmte Funktionen auszuführen, die in der Datenbank gespeichert sind Bei einem erneuten Aufruf nach der ersten Kompilierung ist keine erneute Kompilierung erforderlich. Der Benutzer ruft die gespeicherte Prozedur auf, indem er den Namen der gespeicherten Prozedur angibt und Parameter angibt (sofern die gespeicherte Prozedur über Parameter verfügt).

Um es einfach auszudrücken: Es handelt sich um eine SQL-Anweisung, die genau eine Sache tut.

Es kann von der Datenbank selbst oder von einem Java-Programm aufgerufen werden.

Gespeicherte Prozeduren sind Prozeduren in der Oracle-Datenbank.

Struktur der gespeicherten Prozedur

(1) Grundstruktur

Die gespeicherte Oracle-Prozedur enthält drei Teile: Prozessdeklaration, Ausführungsprozessteil, Ausnahme der gespeicherten Prozedur (beschreibbar oder nicht, um die Fehlertoleranz des Skripts zu verbessern). und Um das Debuggen zu erleichtern, schreiben Sie die Ausnahmebehandlung.)

(2) Gespeicherte Prozedur ohne Parameter

/**
name_procedure就是自己自定义的存储过程名
*/
create or replace procedure name_procedure AS/IS
	变量名1  数据类型;
	变量名2  数据类型;
BEGIN
	--要处理的业务逻辑
	EXCEPTION    --存储过程异常
END name_procedure;

(3). Zuweisung

/*
age 类型为number 初始化为20;
*/
CREATE OR REPLACE PROCEDURE name_procedure (param1 TYPE)
AS/IS
name varchar(20);
age number :=20;
BEGIN
  --业务处理.....
END ;

Der Parameter IN stellt den Eingabeparameter dar und ist der Standardmodus des Parameters.

OUT stellt den Rückgabewertparameter dar und der Typ kann jeden zulässigen Typ in Oracle verwenden.

  • Den im OUT-Modus definierten Parametern kann nur ein Wert innerhalb des Prozesskörpers zugewiesen werden, was bedeutet, dass der Parameter einen bestimmten Wert an den Prozess zurückgeben kann, der ihn aufgerufen hat.

  • IN OUT bedeutet, dass der Parameter kann einen Wert an den Prozess übergeben oder einen bestimmten Wert übergeben

  • Zeile 7: Abfrageanweisung, Verwendung des Parameters s_age als Filterbedingung, des Schlüsselworts INTO und Zuweisen der gefundenen Ergebnisse zur Gesamtvariablen.

    Zeile 8: Abfrageergebnisse ausgeben, „||“ wird zum Verbinden von Zeichenfolgen in der Datenbank verwendet.
Zeilen 9–11: Ausnahmebehandlung durchführen.

Syntax für gespeicherte Prozeduren

(2) SELECT INTO STATEMENT-Anweisung

Weisen Sie die Abfrageergebnisse einer oder mehreren Variablen zu

Anforderung: Finden Sie den Namen, das Alter und den Namen des Schülers mit einer Punktzahl von 100 heraus . Geburtsort:

CREATE OR REPLACE PROCEDURE 存储过程名称(
       s_no in varchar,
       s_name out varchar,
       s_age number) AS
total NUMBER := 0;
BEGIN
  SELECT COUNT(1) INTO total FROM student s WHERE s.age=s_age;
  dbms_output.put_line('符合该年龄的学生有'||total||'人');
  EXCEPTION
    WHEN too_many_rows THEN 
    DBMS_OUTPUT.PUT_LINE('返回值多于1行'); 
END
(3) Select-Anweisung Tutorial: „Was beinhaltet die Grundstruktur gespeicherter Oracle-Prozeduren?Oracle-Tutorial

Das obige ist der detaillierte Inhalt vonWas beinhaltet die Grundstruktur gespeicherter Oracle-Prozeduren?. 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