Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle PLSQL-Blockstruktur und -Typen

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

definiert

2) 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 werden

5) 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