PL / SQL-blokk: STRUKTUR, syntaks, ANONYM Eksempel

Innholdsfortegnelse:

Anonim

Hva er PL / SQL-blokk?

I PL / SQL kjøres ikke koden i format med én linje, men den blir alltid utført ved å gruppere koden i et enkelt element kalt Blocks. I denne opplæringen skal du lære om disse blokkene.

Blokker inneholder både PL / SQL samt SQL-instruksjon. Alle disse instruksjonene vil bli utført som en helhet i stedet for å utføre en enkelt instruksjon om gangen.

I denne opplæringen lærer du:

  • Hva er PL / SQL-blokk?
  • Blokkstruktur
  • PL / SQL-blokksyntaks
  • Typer PL / SQL-blokkering

Blokkstruktur

PL / SQL-blokker har en forhåndsdefinert struktur der koden skal grupperes. Nedenfor er forskjellige seksjoner av PL / SQL-blokker.

  1. Erklæring seksjon
  2. Utførelsesdel
  3. Unntak-håndtering seksjon

Bildet nedenfor illustrerer de forskjellige PL / SQL-blokkene og seksjonsrekkefølgen.

Erklæringsseksjon

Dette er den første delen av PL / SQL-blokkene. Denne delen er en valgfri del. Dette er seksjonen der erklæringen om variabler, markører, unntak, underprogrammer, pragmainstruksjoner og samlinger som er nødvendige i blokken vil bli erklært. Nedenfor er noen flere egenskaper ved denne delen.

  • Denne spesielle delen er valgfri og kan hoppes over hvis det ikke er behov for erklæringer.
  • Dette bør være den første delen i en PL / SQL-blokk, hvis den er tilstede.
  • Denne delen starter med nøkkelordet 'ERKLARE' for utløsere og anonym blokk. For andre underprogrammer vil ikke dette nøkkelordet være til stede. I stedet markerer delen etter definisjonen av underprogramnavnet erklæringen.
  • Denne delen skal alltid følges av eksekveringsseksjonen.

Eksekveringsseksjon

Utførelsesdel er den viktigste og obligatoriske delen som faktisk utfører koden som er skrevet inne i den. Siden PL / SQL forventer kjørbare uttalelser fra denne blokken, kan dette ikke være en tom blokk, dvs. at den skal ha minst en gyldig kjørbar kodelinje. Nedenfor er noen flere egenskaper ved denne delen.

  • Denne kan inneholde både PL / SQL-kode og SQL-kode.
  • Dette kan inneholde en eller flere blokker inne i den som en nestet blokk.
  • Denne delen starter med nøkkelordet 'BEGIN'.
  • Denne delen skal følges av enten 'END' eller seksjonen med unntakshåndtering (hvis den er tilstede)

Seksjon for unntakshåndtering:

Unntaket er uunngåelig i programmet som oppstår ved kjøretid, og for å håndtere dette har Oracle gitt en unntakshåndteringsseksjon i blokker. Denne delen kan også inneholde PL / SQL-setninger. Dette er en valgfri del av PL / SQL-blokkene.

  • Dette er delen der unntaket som er hevet i eksekveringsblokken blir håndtert.
  • Denne delen er den siste delen av PL / SQL-blokken.
  • Kontroll fra denne delen kan aldri gå tilbake til utførelsesblokken.
  • Denne delen starter med nøkkelordet 'UNNTAK'.
  • Denne delen skal alltid følges av nøkkelordet 'END'.

Nøkkelordet 'END' markerer slutten på PL / SQL-blokken.

PL / SQL-blokksyntaks

Nedenfor er syntaksen til PL / SQL-blokkstrukturen.

DECLARE --optionalBEGIN --mandatoryEXCEPTION --optionalEND; --mandatory/

Merk: En blokk skal alltid følges av '/' som sender informasjonen til kompilatoren om slutten av blokken.

Typer PL / SQL-blokkering

PL / SQL-blokker er hovedsakelig av to typer.

  1. Anonyme blokker
  2. Navngitte blokker

Anonyme blokker:

Anonyme blokker er PL / SQL-blokker som ikke har noen navn tildelt. De må opprettes og brukes i samme økt fordi de ikke blir lagret på serveren som databaseobjekter.

Siden de ikke trenger å lagre i databasen, trenger de ingen kompileringstrinn. De blir skrevet og utført direkte, og kompilering og utførelse skjer i en enkelt prosess.

Nedenfor er noen flere kjennetegn ved anonyme blokker.

  • Disse blokkene har ikke noe referansenavn spesifisert for dem.
  • Disse blokkene starter med nøkkelordet 'ERKLARE' eller 'BEGIN'.
  • Siden disse blokkene ikke har noe referansenavn, kan disse ikke lagres for senere formål. De skal opprettes og utføres i samme økt.
  • De kan ringe de andre navngitte blokkene, men det er ikke mulig å ringe til anonym blokk, da det ikke har noen referanse.
  • Den kan ha nestet blokk i den som kan være navngitt eller anonym. Det kan også være nestet i noen blokker.
  • Disse blokkene kan ha alle de tre delene av blokken, der eksekveringsseksjonen er obligatorisk, de to andre seksjonene er valgfrie.

Navngitte blokker:

Navngitte blokker har et spesifikt og unikt navn for dem. De lagres som databaseobjektene på serveren. Siden de er tilgjengelige som databaseobjekter, kan de henvises til eller brukes så lenge de finnes på serveren. Kompileringsprosessen for navngitte blokker skjer separat mens du oppretter dem som en databaseobjekt.

Nedenfor er noen flere egenskaper ved navngitte blokker.

  • Disse blokkene kan kalles fra andre blokker.
  • Blokkstrukturen er den samme som en anonym blokk, bortsett fra at den aldri begynner med nøkkelordet 'ERKLARE'. I stedet begynner det med nøkkelordet 'CREATE' som instruerer kompilatoren om å opprette det som et databaseobjekt.
  • Disse blokkene kan nestes i andre blokker. Den kan også inneholde nestede blokker.
  • Navngitte blokker er i utgangspunktet av to typer:
  1. Fremgangsmåte
  2. Funksjon
Vi vil lære mer om disse navngitte blokkene i emnene "Prosedyre" og "Funksjon" i senere opplæring.

Sammendrag

Etter denne opplæringen, bør du være oppmerksom på PL / SQL-blokker og dens typer, forskjellige seksjoner av blokker og deres bruk. Den detaljerte beskrivelsen av de nevnte PL / SQL-blokkene vil bli dekket i den senere opplæringen.