PL/ SQL-blok: STRUKTUR, Syntaks, ANONYMT Eksempel
Hvad er PL/SQL-blok?
I PL/SQL udføres koden ikke i enkeltlinjeformat, men den udføres altid ved at gruppere koden i et enkelt element kaldet Blocks. I denne tutorial vil du lære om disse blokke.
Blokke indeholder både PL/SQL samt SQL instruktion. Alle disse instruktioner vil blive udført som en helhed i stedet for at udføre en enkelt instruktion ad gangen.
Blokstruktur
PL/SQL-blokke har en foruddefineret struktur, hvori koden skal grupperes. Nedenfor er forskellige sektioner af PL/SQL-blokke.
- Erklæringsafsnit
- Udførelsessektion
- Undtagelses-Håndtering sektion
Billedet nedenfor illustrerer de forskellige PL/SQL-blokke og deres sektionsrækkefølge.
Erklæring sektion
Dette er den første sektion af PL/SQL-blokkene. Dette afsnit er en valgfri del. Dette er afsnittet, hvor deklarationen af variabler, markører, undtagelser, underprogrammer, pragmainstruktioner og samlinger, der er nødvendige i blokken, vil blive erklæret. Nedenfor er nogle flere karakteristika for denne del.
- Dette særlige afsnit er valgfrit og kan springes over, hvis der ikke er behov for erklæringer.
- Dette bør være den første sektion i en PL/SQL-blok, hvis den findes.
- Dette afsnit starter med nøgleordet 'DECLARE' for triggere og anonym blokering. For andre underprogrammer vil dette nøgleord ikke være til stede. I stedet markerer delen efter definitionen af underprogramnavnet deklarationsafsnittet.
- Dette afsnit skal altid efterfølges af udførelsessektionen.
Udførelsesafdeling
Udførelsesdelen er den vigtigste og obligatoriske del, som faktisk udfører koden, der er skrevet inde i den. Siden PL / SQL forventer, at de eksekverbare sætninger fra denne blok kan ikke være en tom blok, dvs. den skal have mindst én gyldig eksekverbar kodelinje i sig. Nedenfor er nogle flere karakteristika for denne del.
- Dette kan indeholde både PL/SQL-kode og SQL-kode.
- Dette kan indeholde en eller flere blokke inde i det som en indlejret blok.
- Dette afsnit starter med søgeordet 'BEGIN'.
- Dette afsnit skal efterfølges enten af "SLUT" eller afsnittet om undtagelseshåndtering (hvis det findes)
Undtagelseshåndteringssektion
Undtagelsen er uundgåelig i programmet, som opstår under kørsel og for at håndtere dette Oracle har leveret en undtagelseshåndteringssektion i blokke. Dette afsnit kan også indeholde PL/SQL-sætninger. Dette er en valgfri sektion af PL/SQL-blokkene.
- Dette er den sektion, hvor undtagelsen, der er rejst i udførelsesblokken, håndteres.
- Dette afsnit er den sidste del af PL/SQL-blokken.
- Kontrol fra denne sektion kan aldrig vende tilbage til udførelsesblokken.
- Dette afsnit starter med søgeordet 'EXCEPTION'.
- Dette afsnit skal altid efterfølges af søgeordet 'SLUT'.
Nøgleordet 'END' markerer slutningen af PL/SQL-blokken.
PL/SQL-bloksyntaks
Nedenfor er syntaksen for PL/SQL-blokstrukturen.
DECLARE --optional <declarations> BEGIN --mandatory <executable statements. At least one executable statement is mandatory> EXCEPTION --optional <exception handles> END; --mandatory /
Bemærk: En blok skal altid efterfølges af '/', som sender informationen til compileren om slutningen af blokken.
Typer af PL/SQL-blok
PL/SQL-blokke er hovedsageligt af to typer.
- Anonyme blokke
- Navngivne blokke
Anonyme blokke
Anonyme blokke er PL/SQL-blokke, som ikke har nogen navne tildelt dem. De skal oprettes og bruges i samme session, fordi de ikke vil blive gemt på serveren som databaseobjekter.
Da de ikke behøver at gemme i databasen, behøver de ingen kompileringstrin. De skrives og udføres direkte, og kompilering og eksekvering sker i en enkelt proces.
Nedenfor er nogle flere karakteristika for anonyme blokke.
- Disse blokke har ikke noget referencenavn angivet for dem.
- Disse blokke starter med nøgleordet 'DECLARE' eller 'BEGIN'.
- Da disse blokke ikke har noget referencenavn, kan disse ikke gemmes til senere formål. De skal oprettes og udføres i samme session.
- De kan kalde de andre navngivne blokke, men opkald til anonym blok er ikke muligt, da det ikke har nogen reference.
- Det kan have indlejret blok i sig, som kan være navngivet eller anonymt. Det kan også indlejres i alle blokke.
- Disse blokke kan have alle tre sektioner af blokken, hvor udførelsessektionen er obligatorisk, de to andre sektioner er valgfri.
Navngivne blokke
Navngivne blokke har et specifikt og unikt navn for dem. De gemmes som databaseobjekter på serveren. Da de er tilgængelige som databaseobjekter, kan de henvises til eller bruges, så længe det er til stede på serveren. Kompileringsprocessen for navngivne blokke sker separat, mens de oprettes som databaseobjekter.
Nedenfor er nogle flere karakteristika for navngivne blokke.
- Disse blokke kan kaldes fra andre blokke.
- Blokstrukturen er den samme som en anonym blok, bortset fra at den aldrig starter med nøgleordet 'DECLARE'. I stedet vil det starte med nøgleordet 'CREATE', som instruerer compileren til at oprette det som et databaseobjekt.
- Disse blokke kan indlejres i andre blokke. Det kan også indeholde indlejrede blokke.
- Navngivne blokke er grundlæggende af to typer:
- Procedure
- Funktion
Vi vil lære mere om disse navngivne blokke i emnerne "Procedure" og "Funktion" i senere selvstudie.
Resumé
Efter denne tutorial skal du være opmærksom på PL/SQL-blokke og dens typer, forskellige sektioner af blokke og deres anvendelser. Den detaljerede beskrivelse af de navngivne PL/SQL-blokke vil blive dækket i den senere tutorial.