sql >> Database >  >> RDS >> Oracle

Oracle PLSQL-blokstructuur en -typen

Hier zullen we het hebben over Oracle PLSQL-blokstructuur en -typen

Wat is PL/SQL


PL/SQL is Oracle's eigen extensie voor SQL die procedurele taalmogelijkheden mogelijk maakt. Het biedt alle functies van moderne software-engineering, zoals het inkapselen van gegevens, het afhandelen van uitzonderingen, het verbergen van informatie en objectoriëntatie

Waarom PLSQL gebruiken

1) Integratie met ontwikkelingstools zoals Oracle-formulieren, rapporten

2) Meerdere instructies kunnen worden gegroepeerd in één plsql-blok   en naar de Oracle-server worden verzonden, wat resulteert in minder netwerkverkeer

3) Gemodulariseerde programma-ontwikkeling:splits de complexe logica/het probleem op in een reeks beheersbare, goed gedefinieerde, logische modules en implementeer deze met behulp van blokken

4) Draagbaarheid:aangezien het native is voor de Oracle-server, kan het gemakkelijk worden verplaatst

5) Het biedt procedurele taalcontrolestructuren zoals if condition, looping

6) Het kan fouten afhandelen en op basis daarvan uitzonderingen maken

PLSQL-blokstructuur

Een plsql-blok wordt gemaakt in drie secties Declare, executable en exception.

VERKLAREN (optioneel) – deze sectie bevat variabelen, constanten, cursors en door de gebruiker gedefinieerde uitzonderingen.
BEGIN(verplicht)

UITVOERBAAR – deze sectie bevat alle SQL-instructies.

UITZONDERING (optioneel)- deze sectie bevat de foutafhandelaars.

END(verplicht);

Dus de sectie Declareren en uitzondering zijn optioneel.

Voorbeeld blokstructuur

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;
 /

Belangrijke punten om op te schrijven

1) Alle variabelen en constanten zijn gedefinieerd in de sectie declareren

2) Plaats een puntkomma; aan het einde van sql-statement of plsql control-statement

3) In PL/SQL worden alle fouten afgehandeld in het uitzonderingsblok.

4) Begin en End zijn verplichte uitspraken die het begin en einde van het PL/SQL-blok aangeven.

5) Variabelen en constanten moeten eerst worden gedeclareerd voordat ze kunnen worden gebruikt.

6) Waarden kunnen rechtstreeks aan variabelen worden toegewezen met behulp van de ":="-toewijzingsoperator, door middel van een SELECT … INTO-instructie of bij gebruik als OUT- of IN OUT-parameter van een procedure.

7) Sectie trefwoord Declare, Begin  , Exception wordt niet gevolgd door puntkomma

8) End en alle andere plsql-instructies vereisen een puntkomma om de instructie te beëindigen

PLSQL-bloktypen

Anoniem :Anonieme blokken zijn naamloze blokken. Ze worden gedeclareerd op het punt in de toepassing waar ze moeten worden uitgevoerd

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;
 /

Functie :Dit zijn namen PLSQL-blok dat een parameter kan accepteren en een functie kan berekenen en retourneren. Het kan worden opgeslagen op de Oracle-server of -toepassing

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;
 /

Procedure :Dit zijn namen PLSQL-blok dat parameter kan accepteren en bepaalde informatie kan verwerken en waarden kan of kan retourneren. Het kan worden opgeslagen op de Oracle-server of -toepassing

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;
 /

Verschil  tussen  functie en procedure

Functie Procedure
Functie moet een waarde retourneren Procedure hoeft niet
Syntaxis  Syntaxis
FUNCTIE naam (argumentenlijst …..) Retourgegevenstype is PROCEDURE naam (parameterlijst…..)
lokale variabele declaraties is
Begin lokale variabele declaraties
uitvoerbare instructies BEGIN
Uitzondering Uitvoerbare instructies.
uitvoerders Uitzondering.
Einde; uitzonderingsbehandelaars
  einde;
   
Functie kan met enige beperking in SQL worden gebruikt Procedure kan niet rechtstreeks vanuit SQL worden aangeroepen.

Oracle PLSQL-bloksyntaxis en richtlijnen

1) Letterlijke lettertekens en datums moeten tussen enkele aanhalingstekens staan

2) Plaats meerdere regelopmerkingen tussen /* en */

3)  De meeste sql-functies kunnen worden gebruikt in  PLSQL. We hebben char, date, number-functie beschikbaar in PLSQL, net als SQL

4) groeperen op functie zijn niet beschikbaar in PLSQL. Het kan alleen worden gebruikt in de sql-instructie in de PLSQL

5) We moeten de juiste inspringing gebruiken om de code leesbaar te maken

6) Het wordt aanbevolen om de DML-verklaring in hoofdletters, PLSQL-trefwoorden, gegevenstypen in hoofdletters te schrijven en ID's en parameters in kleine letters te plaatsen voor een betere leesbaarheid en onderhoud

Verwante links

Oracle PLSQL-documentatie
Meest gestelde 25 Oracle PlSQL-interviewvragen
Oracle sql en plsql
hoe sql-query's te schrijven


  1. Draaien in Oracle 11g

  2. Hoe een bestand zippen in PL/SQL?

  3. Wat is de database, waarom database?

  4. Hoe SQLite Nullif() werkt