Heim  >  Artikel  >  Datenbank  >  Ein Artikel, der die Syntax gespeicherter Prozeduren von Oracle vorstellt

Ein Artikel, der die Syntax gespeicherter Prozeduren von Oracle vorstellt

PHPz
PHPzOriginal
2023-04-04 10:39:501846Durchsuche

Oracle ist ein relationales Datenbankverwaltungssystem mit leistungsstarken gespeicherten Prozedurfunktionen. Als Entwickler können wir nur durch die Beherrschung der Syntax gespeicherter Prozeduren effiziente, einfache und sichere Datenbankoperationen entsprechend den Geschäftsanforderungen erreichen. In diesem Artikel wird die Syntax gespeicherter Prozeduren von Oracle vorgestellt.

1. Einführung in gespeicherte Prozeduren

In Oracle ist eine gespeicherte Prozedur ein Datenbankobjekt, bei dem es sich um eine Reihe von SQL-Anweisungen und Kontrollstrukturen handelt, die in der PL/SQL-Sprache geschrieben sind. Es handelt sich um ein wiederverwendbares Programm, das mehrere SQL-Anweisungen kapselt, komplexe Geschäftslogik implementieren und die Effizienz von Datenbankoperationen erheblich verbessern kann.

Gespeicherte Prozeduren haben die folgenden Eigenschaften:

  1. Kann Eingabeparameter empfangen und auch Ausgabeparameter zurückgeben
  2. Kann mehrere SQL-Anweisungen in einer Transaktion ausführen
  3. Auf dem Oracle-Server gespeichert und kann von mehreren Anwendungen gemeinsam genutzt werden
  4. Das ist möglich beim Aufruf ausgeführt werden oder nach der Vorkompilierung ausgeführt werden

2. Erstellung und Ausführung gespeicherter Prozeduren

In Oracle erfordert die Erstellung einer gespeicherten Prozedur die Verwendung der CREATE PROCEDURE-Anweisung. Die Syntax lautet wie folgt:

CREATE [ODER ERSETZEN] PROCEDURE Prozedurname
[(Parameter1 [IN | OUT | IN OUT] Typ1, [Parameter2 [IN | OUT | IN OUT] Typ2,...])]
IS
--Variablen deklarieren
BEGIN
-- SQL-Anweisungen ausführen
END;

Unter diesen bedeutet

  1. OR REPLACE, dass die gespeicherte Prozedur ersetzt und erstellt wird, andernfalls direkt eine neue gespeicherte Prozedur erstellt wird.
  2. procedure_name stellt den Namen der gespeicherten Prozedur dar.
  3. Parameter stellt die Eingabe- oder Ausgabeparameter der gespeicherten Prozedur dar und es können mehrere sein.
  4. type gibt den Typ des Parameters an, einschließlich VARCHAR2, NUMBER, DATE usw.
  5. IS zeigt an, dass die Ausführung des gespeicherten Prozesses offiziell begonnen hat.
  6. Zwischen BEGIN und END befindet sich der Hauptteil der gespeicherten Prozedur, bei dem es sich um eine SQL-Anweisung oder einen PL/SQL-Code handeln kann.

Zum Beispiel ist das Folgende eine einfache gespeicherte Prozedur:

PROZEDUR ERSTELLEN ODER ERSETZEN HelloWorld
IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;

Sie müssen EXECUTE oder verwenden EXEC-Anweisung zum Ausführen der gespeicherten Prozedur, die Syntax lautet wie folgt:

EXECUTE Prozedurname;

oder:

EXEC Prozedurname;

Zum Beispiel:

EXECUTE HelloWorld;

oder:

EXEC HelloWorld;

3 . Variablen und Kontrollstrukturen in gespeicherten Prozeduren

In gespeicherten Prozeduren können Sie Variablen und Kontrollstrukturen verwenden, um komplexere Geschäftslogik zu implementieren.

  1. Variablen

Variablen in Oracle haben die folgenden Typen:

  • CHAR und VARCHAR2: werden zum Speichern von Zeichen und Zeichenfolgen verwendet.
  • NUMBER: Wird zum Speichern numerischer Typen verwendet.
  • DATE: Wird zum Speichern von Datums- und Uhrzeittypen verwendet.

Die Syntax zum Deklarieren von Variablen lautet wie folgt:

DECLARE
Variablenname Variablentyp [NOT NULL] [:= Wert];

Zum Beispiel:

DECLARE
v_emp_id NUMBER := 1001;
v_emp_name. VARCHAR2(20 ) : = 'John' ;
v_salary NUMBER(6,2);

  1. Kontrollstruktur

Oracle unterstützt eine Vielzahl von Kontrollstrukturen, einschließlich IF, CASE, LOOP usw.

IF-Anweisungen werden verwendet, um verschiedene Operationen basierend auf Bedingungen auszuführen. Die Syntax lautet wie folgt:

IF-Bedingung THEN
-Anweisungen;
[ELSIF-Bedingung THEN
-Anweisungen;]
[ELSE
-Anweisungen;]
END IF;

Zum Beispiel:

IF v_salary > 5000 THEN
v_bonus := v_salary * 0,1;
ELSIF v_salary > 3000 THEN
v_bonus := v_salary * 0,05;
ELSE
v_bonus := 0;
END IF;

CASE-Anweisung wird basierend auf einem unterschiedlichen Wert des Ausdrucks verwendet, um verschiedene Operationen auszuführen. Die Syntax lautet wie folgt:

CASE-Ausdruck
WHEN-Wert1 THEN
-Anweisungen;
WHEN-Wert2 THEN
-Anweisungen;
...
[ELSE
-Anweisungen ;]
END CASE;

Zum Beispiel:

CASE v_grade
WHEN 'A' THEN
v_gpa := 4.0;
WHEN 'B' THEN
v_gpa := 3.0;
ELSE
v_gpa := 2.0;
END CASE ;

LOOP-Anweisung wird verwendet, um bestimmte Operationen wiederholt auszuführen. Die Syntax lautet wie folgt:

LOOP
-Anweisungen;
[EXIT |. WHEN v_salary = 0;
END LOOP;

4. Aufrufen gespeicherter Prozeduren

In Oracle können Sie PL/SQL-Code oder SQL-Anweisungen verwenden, um gespeicherte Prozeduren aufzurufen. Zum Beispiel:



PL/SQL-Codeaufruf:

DECLARE

v_emp_name VARCHAR2(20);

BEGIN

GET_EMPLOYEE_NAME(1001, v_emp_name);
    DBMS_OUTPUT.PUT_LINE('Mitarbeitername ist ' || v_emp_name);
  1. ENDE ;

SQL-Anweisungsaufruf:


SQL> VARIABLE v_emp_name VARCHAR2(20);
SQL> und Kontrollstrukturen sowie den Aufruf gespeicherter Prozeduren. Als Entwickler kann die Beherrschung dieser Syntax die Effizienz von Datenbankoperationen erheblich verbessern.

Das obige ist der detaillierte Inhalt vonEin Artikel, der die Syntax gespeicherter Prozeduren von Oracle vorstellt. 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