plsql
PLSQL-Verfahren
Suche…
Einführung
Die PLSQL-Prozedur ist eine Gruppe von SQL-Anweisungen, die zur Wiederverwendung auf dem Server gespeichert werden. Dies erhöht die Leistung, da die SQL-Anweisungen nicht bei jeder Ausführung neu kompiliert werden müssen.
Gespeicherte Prozeduren sind nützlich, wenn derselbe Code von mehreren Anwendungen benötigt wird. Durch gespeicherte Prozeduren wird Redundanz vermieden und der Code wird einfacher. Wenn eine Datenübertragung zwischen Client und Server erforderlich ist, können Verfahren die Kommunikationskosten in bestimmten Situationen reduzieren.
Syntax
CREATE [OR REPLACE] PROCEDURE procedure_name
[(parameter_name [IN | OUT | IN OUT] type [, ...])]
{IS | AS}
< declarations >
BEGIN
< procedure_body >
EXCEPTION -- Exception-handling part begins
<exception handling goes here >
WHEN exception1 THEN
exception1-handling-statements
END procedure_name;
- Prozedurname gibt den Namen der Prozedur an.
- Die Option [ODER ERSETZEN] ermöglicht das Ändern einer vorhandenen Prozedur.
- Die optionale Parameterliste enthält Namen, Modus und Typen der Parameter. IN steht dafür, dass der Wert von außen übergeben wird und OUT bedeutet, dass dieser Parameter verwendet wird, um einen Wert außerhalb der Prozedur zurückzugeben. Wenn kein Modus angegeben ist, wird angenommen, dass sich der Parameter im Modus IN befindet.
- Im Deklarationsteil können Sie Variablen deklarieren, die im Hauptteil verwendet werden.
- prozedurenkörper enthält den ausführbaren Teil.
- Das AS-Schlüsselwort wird anstelle des IS-Schlüsselworts zum Erstellen einer eigenständigen Prozedur verwendet.
- Ausnahmeabschnitt behandelt die Ausnahmen von der Prozedur. Dieser Abschnitt ist optional.
Hallo Welt
Die folgende einfache Prozedur zeigt den Text "Hello World" in einem Client an, der dbms_output
unterstützt.
CREATE OR REPLACE PROCEDURE helloworld
AS
BEGIN
dbms_output.put_line('Hello World!');
END;
/
Sie müssen dies an der SQL-Eingabeaufforderung ausführen, um die Prozedur in der Datenbank zu erstellen, oder Sie können die folgende Abfrage ausführen, um dasselbe Ergebnis zu erhalten:
SELECT 'Hello World!' from dual;
In / Out-Parameter
PL / SQL verwendet die Schlüsselwörter IN, OUT, IN OUT, um festzulegen, was mit einem übergebenen Parameter passieren kann.
IN gibt an, dass der Parameter schreibgeschützt ist und der Wert von der Prozedur nicht geändert werden kann.
OUT gibt an, dass der Parameter nur schreibgeschützt ist, und eine Prozedur kann ihm einen Wert zuweisen, jedoch nicht auf den Wert verweisen.
IN OUT gibt an, dass der Parameter zum Nachschlagen und Ändern zur Verfügung steht.
PROCEDURE procedureName(x IN INT, strVar IN VARCHAR2, ans OUT VARCHAR2)
...
...
END procedureName;
procedureName(firstvar, secondvar, thirdvar);
Die im obigen Beispiel übergebenen Variablen müssen so eingegeben werden, wie sie im Abschnitt zu den Prozedurparametern definiert sind.