sql >> Database teknologi >  >> RDS >> Oracle

Oracle PLSQL-blokstruktur og -typer

Her vil vi diskutere Oracle PLSQL blokstruktur og typer

Hvad er PL/SQL


PL/SQL er Oracles proprietære udvidelse til SQL, der giver mulighed for proceduresprog. Det giver alle funktionerne i moderne softwareteknologi såsom dataindkapsling, undtagelseshåndtering, informationsskjul og objektorientering

Hvorfor bruge PLSQL

1) Integration med udviklingsværktøjer som Oracle-formularer, rapporter

2) Flere sætninger kan grupperes i en enkelt plsql-blok   og sendes til oracle-serveren, hvilket resulterer i mindre netværkstrafik

3) Modulariseret programudvikling:Opdel den komplekse logik/problem i et sæt håndterbare, veldefinerede, logiske moduler og implementer dem ved hjælp af blokke

4) Portabilitet:Da den er hjemmehørende i Oracle-serveren, kan den nemt flyttes

5) Det giver proceduremæssige sprogkontrolstrukturer som if condition, looping

6) Det har evnen til at håndtere fejl og rejse undtagelser baseret på det

PLSQL-blokstruktur

En plsql-blok er lavet i tre sektioner Declar, eksekverbar og undtagelse.

DECLARE(Valgfrit) – dette afsnit indeholder variabler, konstanter, markører og brugerdefinerede undtagelser.
BEGIN(Obligatorisk)

KØBAR – dette afsnit indeholder alle SQL-sætninger.

UNDTAGELSE (valgfrit)- dette afsnit indeholder fejlbehandlerne.

END(obligatorisk);

Så sektionen Erklæring og undtagelse er valgfri.

Eksempel på blokstruktur

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

Vigtige punkter at notere ned

1) Alle variabler og konstanter er defineret i deklarationsafsnittet

2) Indsæt et semikolon; i slutningen af ​​sql-sætning eller plsql-kontrolsætning

3) I PL/SQL håndteres alle fejl i Undtagelsesblokken.

4) Start og End er obligatoriske udsagn, der angiver begyndelsen og slutningen af ​​PL/SQL-blokken.

5) Variabler og konstanter skal deklareres først, før de kan bruges.

6) Værdier kan tildeles variabler direkte ved hjælp af ":=" tildelingsoperatoren ved hjælp af en SELECT … INTO-sætning eller når den bruges som OUT- eller IN OUT-parameter fra en procedure.

7) Sektionssøgeord Declare, Begin  ,undtagelse er ikke efterfulgt af semikolon

8) End og alle andre plsql-sætninger  kræver  et semikolon for at afslutte sætningen

PLSQL-bloktyper

Anonym :Anonyme blokke er unavngivne blokke. De erklæres på det tidspunkt i ansøgningen, hvor de skal udføres

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 :Dette er navne PLSQL-blok, der kan acceptere parameter og beregne en funktion og returnere den. Det kan gemmes 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;
 /

Procedure :Dette er navne PLSQL blok, der kan acceptere parameter og behandle nogle oplysninger og kan eller kan returnere værdier. Det kan gemmes 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;
 /

Forskel  Mellem  funktion og procedure

Funktion Procedure
Funktionen skal returnere en værdi Proceduren behøver ikke
Syntaks  Syntaks
FUNKTIONSnavn (argumentliste …..) Returdatatype er PROCEDUREnavn (parameterliste…..)
lokale variabeldeklarationer er
Begynd lokale variabeldeklarationer
eksekverbare sætninger BEGIN
Undtagelse Eksekverbare erklæringer.
udførelsesbehandlere Undtagelse.
Afslut; undtagelsesbehandlere
  slut;
   
Funktion kan bruges i SQL med nogle begrænsninger Proceduren kan ikke kaldes direkte fra SQL.

Oracle PLSQL-bloksyntaks og retningslinjer

1) Bogstaver for tegn og dato skal være omgivet af enkelte anførselstegn

2) Indsæt flere linjers kommentarer mellem /* og */

3)  De fleste af sql-funktionerne kan bruges i  PLSQL . Vi har char,date, number funktion tilgængelig i PLSQL ligesom SQL

4) gruppe efter funktion er ikke tilgængelige i PLSQL. Det kan kun bruges i sql-sætningen i PLSQL

5) Vi bør bruge korrekt indrykning for at gøre koden læsbar

6) Det anbefales at skrive DML-sætning med store bogstaver, PLSQL-nøgleord, datatyper med store bogstaver og sætte identifikatorer og parameter med små bogstaver for bedre læsbarhed og vedligeholdelse

Relaterede links

Oracle PLSQL-dokumentation
De oftest stillede 25 Oracle PlSQL-interviewspørgsmål
Oracle sql og plsql
hvordan man skriver sql-forespørgsler


  1. mysql vælg sum gruppe efter dato

  2. Hvilken datatype skal bruges til at gemme telefonnumre i SQL Server 2005?

  3. Sådan kommenterer du i SQL

  4. php include fejl finder ikke stien