Hier werden wir über die Oracle PLSQL-Blockstruktur und -Typen diskutieren
Was ist PL/SQL
PL/SQL ist Oracles proprietäre Erweiterung von SQL, die prozedurale Sprachfunktionen ermöglicht. Es bietet alle Funktionen moderner Softwaretechnik wie Datenkapselung, Ausnahmebehandlung, Verbergen von Informationen und Objektorientierung
Warum PLSQL verwenden
1) Integration mit Entwicklungstools wie Oracle Forms, Reports
2) Mehrere Anweisungen können in einem einzigen plsql-Block gruppiert und an den Oracle-Server gesendet werden, was zu weniger Netzwerkverkehr führt
3) Modularisierte Programmentwicklung:Zerlegen Sie die komplexe Logik/das komplexe Problem in eine Reihe handhabbarer, gut definierter, logischer Module und implementieren Sie diese mithilfe von Blöcken
4) Portabilität:Da es auf dem Oracle-Server nativ ist, kann es leicht verschoben werden
5) Es bietet prozedurale Sprachkontrollstrukturen wie if-Bedingung, Schleife
6) Es hat die Fähigkeit, Fehler zu behandeln und darauf basierende Ausnahmen auszulösen
PLSQL-Blockstruktur
Ein plsql-Block besteht aus drei Abschnitten Declare, Executable und Exception.
DECLARE(Optional) – Dieser Abschnitt enthält Variablen, Konstanten, Cursor und benutzerdefinierte Ausnahmen. BEGIN(Obligatorisch) AUSFÜHRBAR – dieser Abschnitt enthält alle SQL-Anweisungen. AUSNAHME (optional)- Dieser Abschnitt enthält die Fehlerbehandlungsroutinen.ENDE(Obligatorisch); |
Deklarieren und Ausnahmeabschnitt sind also optional.
Beispielblockstruktur
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Wichtige Punkte zum Notieren
1) Alle Variablen und Konstanten sind im Deklarationsabschnitt
definiert2) Setzen Sie ein Semikolon; am Ende der SQL-Anweisung oder der plsql-Steueranweisung
3) In PL/SQL werden alle Fehler im Ausnahmeblock behandelt.
4) Begin und End sind obligatorische Anweisungen, die Beginn und Ende des PL/SQL-Blocks angeben.
5) Variablen und Konstanten müssen zuerst deklariert werden, bevor sie verwendet werden können.
6) Werte können Variablen direkt mit dem Zuweisungsoperator „:=“, über eine SELECT … INTO-Anweisung oder bei Verwendung als OUT- oder IN OUT-Parameter aus einer Prozedur zugewiesen werden.
7) Die Abschnittsschlüsselwörter Declare, Begin , exception werden nicht von einem Semikolon gefolgt
8) End und alle anderen plsql-Anweisungen erfordern ein Semikolon, um die Anweisung zu beenden
PLSQL-Blocktypen
Anonym :Anonyme Blöcke sind unbenannte Blöcke. Sie werden an der Stelle deklariert, an der sie ausgeführt werden müssen
DECLARE l_number NUMBER; BEGIN l_number := 1; Dbms_output.put_line(l_number); Exception When others then Dbms_output.put_line(‘Exception occurred’); END; /
Funktion :Dies sind Namen von PLSQL-Blöcken, die Parameter akzeptieren und eine Funktion berechnen und zurückgeben können. Es kann auf dem Oracle-Server oder in der Anwendung gespeichert werden
Syntax FUNCTION name [(parameter[, parameter, …])] RETURN datatype IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace function FUNC return number As l_number NUMBER; BEGIN Select count(*) into l_number from emp; return(l_number) END; /
Verfahren :Dies sind Namen von PLSQL-Blöcken, die Parameter akzeptieren und einige Informationen verarbeiten können und Werte zurückgeben können oder können. Es kann auf dem Oracle-Server oder in der Anwendung gespeichert werden
Syntax PROCEDURE name [(parameter[, parameter, …])] IS [local declarations] BEGIN executable statements [EXCEPTION exception handlers] END [name]; Example Create or replace procedure remove_emp (emp_id number) As BEGIN Delete from emp where employee_id=emp_id; END; /
Unterschied zwischen Funktion und Verfahren
Funktion | Verfahren |
Funktion muss einen Wert zurückgeben | Verfahren muss nicht |
Syntax | Syntax |
Funktionsname (Argumentliste …..) Rückgabedatentyp ist | PROZEDUR-Name (Parameterliste…..) |
lokale Variablendeklarationen | ist |
Beginnen | lokale Variablendeklarationen |
ausführbare Anweisungen | BEGINN |
Ausnahme | Ausführbare Anweisungen. |
Ausführungshandler | Ausnahme. |
Ende; | Ausnahmehandler |
Ende; | |
Funktion kann mit einigen Einschränkungen in SQL verwendet werden | Prozedur kann nicht direkt aus SQL aufgerufen werden. |
Oracle PLSQL-Blocksyntax und Richtlinien
1) Zeichen- und Datumsliterale müssen in einfache Anführungszeichen eingeschlossen werden
2) Platzieren Sie mehrzeilige Kommentare zwischen /* und */
3) Die meisten SQL-Funktionen können in PLSQL verwendet werden. Wir haben in PLSQL Funktionen wie Zeichen, Datum und Zahlen, genau wie in SQL
4) Gruppieren nach Funktion sind in PLSQL nicht verfügbar. Es kann nur in der SQL-Anweisung in PLSQL
verwendet werden5) Wir sollten die richtige Einrückung verwenden, um den Code lesbar zu machen
6) Es wird empfohlen, DML-Anweisungen in Großbuchstaben, PLSQL-Schlüsselwörter, Datentypen in Großbuchstaben und Bezeichner und Parameter in Kleinbuchstaben zu schreiben, um die Lesbarkeit und Wartung zu verbessern
Verwandte Links
Oracle PLSQL-Dokumentation
Am häufigsten gestellte 25 Oracle PlSQL-Interviewfrage
Oracle sql und plsql
wie man SQL-Abfragen schreibt