logo

PL/SQL introduktion

PL/SQL er et blokstruktureret sprog, der gør det muligt for udviklere at kombinere styrken af ​​SQL med proceduremæssige sætninger. Alle sætningerne i en blok sendes til oracle engine på én gang, hvilket øger behandlingshastigheden og mindsker trafikken.

Grundlæggende om PL/SQL

  • •PL/SQL står for Procedural Language extensions til Structured Query Language (SQL).
  • PL/SQL er en kombination af SQL sammen med de proceduremæssige funktioner i programmeringssprog.
  • Oracle bruger en PL/SQL-motor til at behandle PL/SQL-sætningerne.
  • PL/SQL inkluderer proceduremæssige sprogelementer som betingelser og loops. Det tillader deklaration af konstanter og variabler, procedurer og funktioner, typer og variable af disse typer og triggere.

Ulemper ved SQL:

  • SQL giver ikke programmørerne en teknik til tilstandskontrol, looping og forgrening.
  • SQL-sætninger sendes til Oracle-motoren én ad gangen, hvilket øger trafikken og reducerer hastigheden.
  • SQL har ingen mulighed for fejlkontrol under manipulation af data.

Funktioner af PL/SQL:



  1. PL/SQL er dybest set et proceduresprog, som giver funktionaliteten af ​​beslutningstagning, iteration og mange flere funktioner i proceduremæssige programmeringssprog.
  2. PL/SQL kan udføre et antal forespørgsler i én blok ved hjælp af en enkelt kommando.
  3. Man kan oprette en PL/SQL-enhed såsom procedurer, funktioner, pakker, triggere og typer, som gemmes i databasen til genbrug af applikationer.
  4. PL/SQL giver en funktion til at håndtere undtagelsen, der opstår i PL/SQL-blokken, kendt som undtagelseshåndteringsblok.
  5. Programmer skrevet i PL/SQL kan overføres til computerhardware eller operativsystem, hvor Oracle er operationelt.
  6. PL/SQL Tilbyder omfattende fejlkontrol.

Forskelle mellem SQL og PL/SQL:

SQL PL/SQL
SQL er en enkelt forespørgsel, der bruges til at udføre DML- og DDL-operationer. PL/SQL er en blok af koder, der bruges til at skrive hele programblokkene/proceduren/funktionen osv.
Det er deklarativt, der definerer, hvad der skal gøres, snarere end hvordan tingene skal gøres. PL/SQL er en procedure, der definerer, hvordan tingene skal gøres.
Udfør som en enkelt erklæring. Udfør som en hel blok.
Bruges hovedsageligt til at manipulere data. Bruges hovedsageligt til at oprette en applikation.
Kan ikke indeholde PL/SQL-kode i den. Det er en udvidelse af SQL, så det kan indeholde SQL inde i det.

Struktur af PL/SQL-blok:

PL/SQL udvider SQL ved at tilføje konstruktioner, der findes i proceduresprog, hvilket resulterer i et strukturelt sprog, der er mere kraftfuldt end SQL. Grundenheden i PL/SQL er en blok. Alle PL/SQL-programmer er opbygget af blokke, som kan indlejres i hinanden.

Typisk udfører hver blok en logisk handling i programmet. En blok har følgende struktur:

 DECLARE declaration statements; BEGIN executable statements EXCEPTIONS exception handling statements END;>
  • Erklære afsnit starter med ERKLÆRE nøgleord, hvori variabler, konstanter, poster som markører kan erklæres, som lagrer data midlertidigt. Det består grundlæggende af definition af PL/SQL identifikatorer. Denne del af koden er valgfri.
  • Udførelsessektionen starter med BEGYNDE og slutter med ENDE nøgleord. Dette er et obligatorisk afsnit, og her er programlogikken skrevet til at udføre enhver opgave som loops og betingede sætninger. Det understøtter alle DML kommandoer, DDL kommandoer og SQL*PLUS indbyggede funktioner også.
  • Undtagelsesafsnittet starter med UNDTAGELSE nøgleord. Denne sektion er valgfri, som indeholder sætninger, der udføres, når der opstår en køretidsfejl. Eventuelle undtagelser kan håndteres i dette afsnit.

PL/SQL identifikatorer

Der er flere PL/SQL identifikatorer såsom variabler, konstanter, procedurer, markører, triggere osv.

skuespillerinde zeenat aman
  1. Variabler : Ligesom flere andre programmeringssprog skal variabler i PL/SQL erklæres før brug. De skal også have et gyldigt navn og datatype. Syntaks for deklaration af variable:
variable_name datatype [NOT NULL := value ];>
  1. Eksempel til at vise, hvordan man erklærer variabler i PL/SQL:

C




SQL>SÆT SERVEROUTPUT TIL;> SQL>ERKLÆR> >var1 INTEGER;> >var2 REAL;> >var3 varchar2(20) ;> BEGIN> >null;> END;> />

>

>

  1. Produktion:
PL/SQL procedure successfully completed.>
  1. Forklaring:
    • SÆT SERVEROUTPUT TIL : Den bruges til at vise bufferen, der bruges af dbms_output.
    • var1 HELTAL: Det er erklæringen af ​​variabel, navngivet var1 som er af heltalstype. Der er mange andre datatyper, der kan bruges som float, int, real, smallint, long etc. Det understøtter også variabler brugt i SQL såvel som NUMBER(prec, scale), varchar, varchar2 osv.
    • PL/SQL-procedure gennemført med succes.: Det vises, når koden er kompileret og udført korrekt.
    • Skråstreg (/) efter END;: Skruestregen (/) fortæller SQL*Plus at udføre blokken.
    • Opgaveoperatør (:=) : Den bruges til at tildele en værdi til en variabel.
  2. Viser output : Outputtene vises ved at bruge DBMS_OUTPUT, som er en indbygget pakke, der gør det muligt for brugeren at vise output, fejlfindingsinformation og sende beskeder fra PL/SQL-blokke, underprogrammer, pakker og triggere. Lad os se et eksempel for at se, hvordan man viser en besked ved hjælp af PL/SQL:

C


parallel bearbejdning



SQL>SÆT SERVEROUTPUT TIL;> SQL>ERKLÆR> >var varchar2(40) :=>'I love GeeksForGeeks'> ;> >BEGIN> >dbms_output.put_line(var);> >END;> >/>

>

>

  1. Produktion:
I love GeeksForGeeks PL/SQL procedure successfully completed.>
  1. Forklaring:
    • dbms_output.put_line : Denne kommando bruges til at dirigere PL/SQL-outputtet til en skærm.
  2. Brug af kommentarer : Ligesom i mange andre programmeringssprog, også i PL/SQL, kan kommentarer sættes i koden, hvilket ikke har nogen effekt i koden. Der er to syntakser til at oprette kommentarer i PL/SQL:
    • Enkeltlinjekommentar: For at oprette en enkelt linjekommentar skal symbolet– –anvendes.
    • Kommentar med flere linier: For at oprette kommentarer, der strækker sig over flere linjer, skal symbolet/*og*/anvendes.
  3. Modtager input fra brugeren : Ligesom i andre programmeringssprog kan vi også i PL/SQL tage input fra brugeren og gemme det i en variabel. Lad os se et eksempel for at vise, hvordan man tager input fra brugere i PL/SQL:

C


romertal 1100



SQL>SÆT SERVEROUTPUT TIL;> SQL>ERKLÆR> >-- taking input>for> variable a> >a number := &a;> > >-- taking input>for> variable b> >b varchar2(30) := &b;> >BEGIN> >null;> >END;> >/>

>

python skriv json til fil
>

  1. Produktion:
Enter value for a: 24 old 2: a number := &a; new 2: a number := 24; Enter value for b: 'GeeksForGeeks' old 3: b varchar2(30) := &b; new 3: b varchar2(30) := 'GeeksForGeeks'; PL/SQL procedure successfully completed.>
  1. (***) Lad os se et eksempel på PL/SQL for at demonstrere alle ovenstående begreber i en enkelt kodeblok.

C




--PL/SQL code to print sum of two numbers taken from the user.> SQL>SÆT SERVEROUTPUT TIL;> SQL>ERKLÆR> > >-- taking input>for> variable a> >a integer := &a ;> > >-- taking input>for> variable b> >b integer := &b ;> >c integer ;> >BEGIN> >c := a + b ;> >dbms_output.put_line(>'Sum of '>||a||>' and '>||b||>' is = '>||c);> >END;> >/>

>

>

Enter value for a: 2 Enter value for b: 3 Sum of 2 and 3 is = 5 PL/SQL procedure successfully completed.>

PL/SQL eksekveringsmiljø:

PL/SQL-motoren ligger i Oracle-motoren. Oracle-motoren kan behandle ikke kun en enkelt SQL-sætning, men også blok af mange sætninger. Kaldet til Oracle-motoren skal kun foretages én gang for at udføre et vilkårligt antal SQL-sætninger, hvis disse SQL-sætninger er bundtet inde i en PL/SQL-blok.