sql >> Databasteknik >  >> RDS >> Oracle

Oracle PLSQL-blockstruktur och -typer

Här kommer vi att diskutera Oracle PLSQL-blockstruktur och typer

Vad är PL/SQL


PL/SQL är Oracles egenutvecklade tillägg till SQL som tillåter procedurspråksfunktioner. Den ger alla funktioner i modern mjukvaruteknik som datainkapsling, undantagshantering, informationsdöljning och objektorientering

Varför använda PLSQL

1) Integration med utvecklingsverktyg som Oracle-formulär, Rapporter

2) Flera uttalanden kan grupperas i ett enda plsql-block   och skickas till oracle-servern vilket resulterar i mindre nätverkstrafik

3) Modulariserad programutveckling:Dela upp den komplexa logiken/problemet i en uppsättning hanterbara, väldefinierade, logiska moduler och implementera dem med hjälp av block

4) Portabilitet:Eftersom den är inbyggd i Oracle-servern kan den enkelt flyttas

5) Det tillhandahåller processuella språkkontrollstrukturer som if condition, looping

6) Den har förmågan att hantera fel och skapa undantag baserat på det

PLSQL-blockstruktur

Ett plsql-block görs i tre avsnitt Deklarera, körbar och undantag.

DECLARE(Valfritt) – det här avsnittet innehåller variabler, konstanter, markörer och användardefinierade undantag.
BEGIN(Obligatoriskt)

EXEMPELBAR – det här avsnittet innehåller alla SQL-satser.

UNDANTAG (valfritt)- det här avsnittet innehåller felhanterare.

END(Obligatorisk);

Så avsnittet Deklarera och undantag är valfria.

Exempel på blockstruktur

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

Viktigt att notera

1) Alla variabler och konstanter definieras i deklarationsavsnittet

2) Placera ett semikolon; i slutet av sql-satsen eller plsql-kontrollsatsen

3) I PL/SQL hanteras alla fel i undantagsblocket.

4) Start och End är obligatoriska satser som anger början och slutet av PL/SQL-blocket.

5) Variabler och konstanter måste deklareras först innan de kan användas.

6) Värden kan tilldelas variabler direkt med hjälp av tilldelningsoperatorn “:=”, med hjälp av en SELECT … INTO-sats eller när den används som OUT- eller IN OUT-parameter från en procedur.

7) Sektionsnyckelord Declare, Begin , undantag följs inte av semikolon

8) End och alla andra plsql-satser  kräver  ett semikolon för att avsluta satsen

PLSQL-blocktyper

Anonym :Anonyma block är namnlösa block. De deklareras vid den tidpunkt i ansökan där de behöver utföras

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 :Dessa är namn på PLSQL-block som kan acceptera parameter och beräkna någon funktion och returnera den. Det kan lagras i Oracle-server eller applikation

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

Procedur :Dessa är namn PLSQL-block som kan acceptera parameter och bearbeta viss information och kan eller kan returnera värden. Det kan lagras i Oracle-server eller applikation

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

Skillnad  Mellan  funktion och procedur

Funktion Procedur
Funktionen måste returnera ett värde Procedur behöver inte
Syntax  Syntax
FUNKTIONSnamn (argumentlista …..) Returdatatyp är PROCEDURnamn (parameterlista…..)
lokala variabeldeklarationer är
Börja lokala variabeldeklarationer
körbara satser BÖRJAN
Undantag Körbara uttalanden.
exekveringshanterare Undantag.
Sluta; undantagshanterare
  slut;
   
Funktionen kan användas i SQL med vissa begränsningar Procedur kan inte anropas direkt från SQL.

Oracle PLSQL blocksyntax och riktlinjer

1) Bokstavs- och datumbokstav måste omges av enkla citattecken

2) Placera kommentarer på flera rader mellan /* och */

3)  De flesta sql-funktionerna kan användas i  PLSQL . Vi har char,date, number-funktioner tillgängliga i PLSQL precis som SQL

4) grupp efter funktion är inte tillgängliga i PLSQL. Det kan endast användas i SQL-satsen i PLSQL

5) Vi bör använda korrekt indrag för att göra koden läsbar

6) Det rekommenderas att skriva DML-sats i versaler, PLSQL-sökord, datatyper i versaler och sätta identifierare och parameter i gemener för bättre läsbarhet och underhåll

Relaterade länkar

Oracle PLSQL-dokumentation
De vanligaste 25 Oracle PlSQL-intervjufrågorna
Oracle sql och plsql
hur man skriver sql-frågor


  1. PostgreSQL Connection Pooling:Del 1 – För- och nackdelar

  2. Komma igång med Shareplex på Windows på AWS, del 1

  3. Skiftlägesokänsliga unika modellfält i Django?

  4. Hur infogar man pandas dataram via mysqldb i databasen?