Eine vollständige Anleitung zu Prozedur und Funktion in PL SQL

Veröffentlicht: 2023-01-30
Eine vollständige Anleitung zu Prozedur und Funktion in PL SQL

Programmiersprachen sind ein System zum Schreiben von Computerprogrammen. Während viele Programmiersprachen textbasiert sind, können andere auch grafisch sein. Diese Sprachen helfen Programmierern, mit dem Computer zu kommunizieren. Structured Query Language (SQL) ist eine solche Programmiersprache, die beim Speichern, Bearbeiten und Abrufen von Daten hilft, die in einer relationalen Datenbank gespeichert sind. In der heutigen Anleitung teilen wir Details zur Ausführung der Namensblöcke (Prozeduren und Funktionen), die Unterprogramme für PL SQL sind. Wenn Sie also nach einer ausführlichen Anleitung zu Vorgehensweise und Funktion in PL SQL gesucht haben, sind Sie auf der richtigen Seite gelandet. In diesem Dokument erfahren Sie neben der Behandlung des Themas zu gespeicherten PL SQL-Prozeduren auch etwas über das Beispiel einer PL SQL-Prozedur. Ganz zu schweigen von der PL SQL-Aufrufprozedur, der PL SQL-Exit-Prozedur und dem PL SQL-Funktionsbeispiel, die gleichermaßen wichtig zu lernen sind, wenn Sie ein angehender Programmierer sind. Beginnen wir also mit unserem ausführlichen Leitfaden zu PL SQL.

Eine vollständige Anleitung zu Prozedur und Funktion in PL SQL

Inhalt

  • Eine vollständige Anleitung zu Prozedur und Funktion in PL SQL
  • Was ist PL-SQL?
  • Was ist Prozedur und Funktion in PL SQL?
  • Wie erstelle ich eine gespeicherte Prozedur und Funktion in PL SQL?
  • Vorteile gespeicherter Prozeduren und Funktionen in PL SQL
  • Syntax zum Erstellen einer gespeicherten Prozedur
  • Beispiel für eine PL-SQL-Prozedur
  • Syntax zum Erstellen von Funktionen in PL SQL
  • Beispiel für eine PL-SQL-Funktion
  • Was ist die PL SQL-Exit-Prozedur?
  • Unterschied zwischen gespeicherter und Funktionsprozedur

Eine vollständige Anleitung zu Prozedur und Funktion in PL SQL

Hier haben wir PL SQL-Prozeduren und -Funktionen mit Beispielen im Detail gezeigt.

Was ist PL-SQL?

  • PL SQL ist eine Kurzform für prozedurale Spracherweiterungen von SQL .
  • PL SQL ist eine blockstrukturierte Sprache für Programmierer, die ihnen hilft , die Leistungsfähigkeit von SQL mit prozeduralen Anweisungen zu kombinieren.
  • Es ist die prozedurale Erweiterung der Oracle Corporation .
  • Diese prozedurale Sprache ist in der Oracle -Datenbank, der In-Memory-Datenbank von Times Ten und IBM Db2 verfügbar.
  • Zur Laufzeit bringen sowohl PL/SQL als auch SQL optimale Effizienz, indem sie innerhalb desselben Serverprozesses ausgeführt werden.
  • PL SQL gewährleistet eine effektive und ungestörte Verarbeitung von SQL-Anweisungen, indem es die Portabilität , Sicherheit und Robustheit der Datenbank verbessert.
  • PL SQL bedeutet einfach, den Compiler anzuweisen , was durch SQL zu tun ist und wie es durch seine prozedurale Art zu tun ist.
  • PL SQL gibt Programmierern durch die Verwendung von Schleifen , Bedingungen und objektorientierten Konzepten mehr Kontrolle.

Was ist Prozedur und Funktion in PL SQL?

  • PL SQL hat zwei Unterprogramme, die als Prozeduren und Funktionen bekannt sind.
  • Normalerweise wird eine Prozedur verwendet, um eine Aktion auszuführen, und eine Funktion, um einen Wert zu berechnen .
  • Unterprogramme in PL SQL haben einen deklarativen Teil , einen ausführbaren Teil und einen optionalen Teil zur Behandlung von Ausnahmen .
  • Diese Unterprogramme können als Datenbankobjekte erstellt und in der Datenbank gespeichert werden .
  • Prozedur- und Funktionsunterprogramme in PL SQL geben einen einzelnen Wert zurück, der hauptsächlich zum Berechnen und Zurückgeben eines Werts verwendet wird.
  • Diese Unterprogramme sind einfach eine Sammlung von PL/SQL- und SQL-Anweisungen , die eine bestimmte Aufgabe ausführen können.

Wie erstelle ich eine gespeicherte Prozedur und Funktion in PL SQL?

Wenn ein Codeblock für gespeicherte PL SQL-Prozeduren oder -Funktionen geschrieben wird, werden sie von der Oracle-Engine kompiliert. Einmal kompiliert, wird es als Datenbankobjekt gespeichert. Die gespeicherte Prozedur oder der Code-Funktionsblock besteht aus drei Teilen:

  • Deklarativer Teil : In diesem Teil werden Variablen, Konstanten, Cursor oder Ausnahmen deklariert, die von Prozeduren oder Funktionen verwendet werden sollen.
  • Ausführbarer Teil : In diesem Teil wird die Definition der erstellten Prozedur oder Funktion geschrieben. Dieser Teil besteht auch aus PL/SQL- oder SQL-Anweisungen, die Werte zuweisen, Daten manipulieren und die Ausführung steuern.
  • Ausnahmebehandlungsteil : Dieser letzte Teil ist optional und darin werden erwartete Ausnahmen geschrieben, die während der Ausführung des im ausführbaren Teil geschriebenen Codes auftreten können.

Vorteile gespeicherter Prozeduren und Funktionen in PL SQL

Bevor wir das PL SQL-Prozedurbeispiel aufdecken, müssen Sie sich zunächst mit den Vorteilen von Prozedur- und Funktionsunterprogrammen vertraut machen.

  • Verbessern Sie die Datenbankleistung : Die Oracle-Engine hilft bei der automatischen Kompilierung. Außerdem lädt die Oracle-Engine den kompilierten Code in SGA, System Global Area, wenn eine PL SQL-Aufrufprozedur oder -funktion ausgeführt wird, was zu einer schnelleren Ausführung beiträgt.
  • Wiederverwendbarkeit und keine Redundanz : Die Anzahl der Codezeilen kann nicht wiederholt geschrieben werden, da derselbe Codeblock für eine Prozedur oder Funktion beliebig oft für mehrere Daten aufgerufen werden kann.
  • Sicherheit : Die Sicherheit der Datenbank wird auch durch die Verwendung gespeicherter Prozeduren oder Funktionen aufrechterhalten, da sie hilft, die Nutzung und ihren Zugriff zu kontrollieren, indem Benutzern Berechtigungen erteilt werden. Benutzern wird jedoch keine Berechtigung zum Bearbeiten oder Manipulieren der Datenbank gewährt.
  • Integrität : Ein weiterer Vorteil der Verwendung von gespeicherten PL SQL-Prozeduren oder -Funktionen besteht darin, dass sie die Integrität gewährleisten, da sie von der Oracle-Engine als Datenbankobjekte gespeichert werden.
  • Speicher sparen: Einer der vielen Vorteile gespeicherter Prozeduren oder Funktionen besteht darin, dass sie Speicher gemeinsam nutzen, wodurch Speicher als einzelne Kopie entweder einer Prozedur oder einer Funktion gespeichert werden kann, die von einer Reihe von Benutzern geladen werden kann, die die gleiche Berechtigung haben.

Lesen Sie auch: So beheben Sie den javascript:void(0)-Fehler

Syntax zum Erstellen einer gespeicherten Prozedur

Sie können sich die folgende Syntax ansehen, die zum Erstellen einer gespeicherten Prozedur in Oracle verwendet wird:

 PROZEDUR <prozedurname> ERSTELLEN ODER ERSETZEN
(<Variablenname>IN/OUT/IN OUT <Datentyp>,
<Variablenname>IN/OUT/IN OUT <Datentyp>,...) IS/AS
Variable/Konstante-Deklaration;
START
-- PL/SQL-Unterprogrammrumpf;
AUSNAHME
- Ausnahmebehandlungsblock;
END <Prozedurname>; 

Syntax zum Erstellen einer gespeicherten Prozedur in Oracle

Im obigen Code:

  • Procedure_name repräsentiert den Namen der Prozedur.
  • Variable_name stellt den Namen der Variablen dar, die in der gespeicherten Prozedur verwendet wird.
  • Prozedur erstellen oder ersetzen stellt ein Schlüsselwort dar, das zum Angeben des Namens der zu erstellenden Prozedur verwendet wird.
  • Begin , Exception und End stellen Schlüsselwörter dar, die verwendet werden, um anzuzeigen, dass verschiedene Abschnitte der Prozedur erstellt werden.
  • IN/OUT/IN OUT stellt Parametermodi dar, wobei sich IN auf den READ ONLY- Modus bezieht, der für eine Variable verwendet wird, über die der Wert vom Benutzer akzeptiert wird. Dies ist der Standardparametermodus.
  • OUT bezieht sich auf den WRITE ONLY- Modus, der für eine Variable verwendet wird, die den Wert an den Benutzer zurückgibt.
  • IN OUT bezieht sich auf den READ- und WRITE- Modus, der für eine Variable verwendet wird, die entweder einen Wert akzeptiert oder einen Wert an den Benutzer zurückgibt.
  • <Prozedurname> stellt ein Ende der Prozedurdefinition dar. Sie können stattdessen auch einfach END verwenden.

Beispiel für eine PL-SQL-Prozedur

Für den folgenden Prozedurcode ist hier ein einfaches Beispiel, das die Verwendung der gespeicherten Prozedur zum Addieren zweier Zahlen deutlich demonstriert:

 Serverausgabe einschalten;
CREATE OR REPACE PROCEDURE Summe (wobei eine IN-Zahl, b IN-Zahl) eine c-Zahl ist;
START
c := a+b;
dbms_output.put_line ('Summe zweier Zahlen = '|| c);
ENDE Summe;

Beim Aufruf der Prozedur wird folgender Code ausgeführt:

 Serverausgabe einschalten;
ERKLÄREN
x-Nummer;
y-Nummer;
START
x := &x;
y := &y;
Summe(x,y);
ENDE;
Woher:
Wert für x eingeben: 10
Wert für y eingeben: 20
Summe zweier Zahlen: 30

PL SQL-Prozedur erfolgreich erstellt.

Syntax zum Erstellen von Funktionen in PL SQL

Nachdem Sie nun wissen, wie Sie eine Syntax für gespeicherte Prozeduren und ihr Beispiel erstellen, ist es an der Zeit, etwas Licht in die Erstellung von Funktionen in PL/SQL zu bringen:

 FUNKTION <Funktionsname> ERSTELLEN ODER ERSETZEN
(<Variablenname> IN <Datentyp>,
<Variablenname> IN <Datentyp>,...)
RETURN <Datentyp> IS/AS
Variable/Konstante-Deklaration;
START
-- PL/SQL-Unterprogrammrumpf;
AUSNAHME
- Ausnahmebehandlungsblock;
END <Funktionsname>; 

Syntax zum Erstellen von Funktionen

Im obigen Code:

  • Function_name repräsentiert den Namen der Funktion.
  • Variable_name stellt den Variablennamen für die in der Funktion verwendete Variable dar.
  • Create or Replace function stellt ein Schlüsselwort dar, das für den Namen der zu erstellenden Funktion verwendet wird.
  • IN stellt den READ ONLY- Modus dar, der für eine Variable verwendet wird, durch die der Wert vom Benutzer akzeptiert wird. Dies ist der Standardparameter.
  • Return stellt ein Schlüsselwort dar, dem ein Datentyp folgt, der den Datentyp eines Werts angibt, den die Funktion zurückgeben wird.

Lesen Sie auch: Fix Command Failed with Error Code 1 Python Egg Info

Beispiel für eine PL-SQL-Funktion

Unten ist ein Beispiel der PL SQL-Funktion, das die Verwendung der Funktion zum Addieren von zwei Zahlen demonstriert:

 Serverausgabe einschalten;
FUNKTION ERSTELLEN ODER ERSETZEN Summe (a IN Zahl, b IN Zahl) RETURN Zahl IST
c-Nummer;
START
c := a+b;
RÜCKKEHR c;
ENDE; 

Funktion zum Hinzufügen von zwei Zahlen Syntax

Beim Aufruf der Funktion sum wird folgender Code ausgeführt:

 Serverausgabe einschalten;
ERKLÄREN
Nr1 Nummer;
Nr2 Nummer;
Ergebnisnummer;
START
nr1 := &nr1;
no2 := &no2;
Ergebnis := Summe(no1,no2);
dbms_output.put_line('Summe zweier Nummern='||Ergebnis);
ENDE;
Woher:
Geben Sie den Wert für no1 ein: 5
Geben Sie den Wert für no2 ein: 5
Summe zweier Zahlen: 10

PL SQL-Prozedur erfolgreich erstellt.

Syntax zum Aufrufen der Funktion Summe

Lesen Sie den nächsten Abschnitt, um mehr über die PL SQL-Exit-Prozedur zu erfahren.

Was ist die PL SQL-Exit-Prozedur?

Exit hilft, wenn die Anweisung die aktuelle Iteration der Schleife verlässt, sobald die Bedingung in ihrer WHEN-Klausel erfüllt ist, und die Steuerung an das Ende der gerade laufenden Schleife übergibt. Exit-Anweisungen können nicht außerhalb der Schleifen verwendet werden und sind dazu gedacht, eine Schleife entweder bedingungslos mit Exit- und Continue-Anweisungen oder bedingt mit Exit When- und Continue When-Anweisungen zu verlassen.

Unterschied zwischen gespeicherter und Funktionsprozedur

Jetzt, da Sie sich der Prozedur und Funktion in PL SQL bewusst sind, ist es endlich an der Zeit, auch den grundlegenden Unterschied zwischen den beiden zu kennen:

  • Die gespeicherte Prozedur kann einen Wert an den aufrufenden Teil des Programms zurückgeben oder nicht, während die Funktion einen Wert an den aufrufenden Teil des Programms zurückgibt.
  • Die gespeicherte Prozedur gibt einen Wert mit dem OUT-Parameter zurück, während die Funktion den Wert mit RETURN zurückgibt.
  • Die gespeicherte Prozedur verwendet die Parameter IN, OUT, IN OUT, während die Funktion nur die Parameter IN verwendet.
  • Die gespeicherte Prozedur gibt den Datentyp des Werts nicht an, wenn sie nach einem Aufruf zurückgegeben wird, während die Funktion den Datentyp des Werts angibt, der nach einem Aufruf zurückgegeben wird.
  • Gespeicherte Prozeduren können nicht aus dem Funktionsblock des Codes aufgerufen werden, während Funktionen aus dem Prozedurblock des Codes aufgerufen werden können.

Empfohlen:

  • DDR4 vs DDR5 RAM: Was ist besser für Gaming?
  • Welche Arten von Steckbrettern gibt es?
  • So analysieren Sie Text
  • 4 Möglichkeiten zum Teilen von Zeichenfolgen nach Trennzeichen in SQL

Wir hoffen, dass unser Dokument zu Prozedur und Funktion in PL SQL hilfreich und erfolgreich war, um alle Ihre Zweifel an PL SQL und ihren Unterprogrammen, Prozedur und Funktion, PL SQL-Exit-Prozedur und mehr zu beantworten. Wenn wir Ihnen in irgendeiner Weise geholfen haben oder es weitere Fragen von Ihrer Seite gibt, hinterlassen Sie bitte unten Ihre Kommentare, um uns dies mitzuteilen.