Sammendrag: i denne opplæringen vil du lære om pl / SQL anonym blokk og hvordan du utfører den ved HJELP AV SQL * Plus Og SQL Utviklerverktøy.
pl/SQL anonym blokkoversikt
PL/SQL ER et blokkstrukturert språk hvis kode er organisert i blokker. EN pl / SQL blokk består av tre seksjoner: erklæring, kjørbar, og unntak-håndtering seksjoner. I en blokk er den kjørbare delen obligatorisk, mens deklarasjons-og unntaksbehandlingsdelene er valgfrie.
en pl / SQL-blokk har et navn. Funksjoner eller Prosedyrer er et eksempel på en navngitt blokk. En navngitt blokk lagres i Oracle-Databaseserveren og kan gjenbrukes senere.
en blokk uten navn er en anonym blokk. En anonym blokk lagres ikke I Oracle Database server, så det er bare for engangsbruk. PL / SQL anonyme blokker kan imidlertid være nyttige for testformål.
følgende bilde illustrerer strukturen TIL EN PL / SQL-blokk:
1) Deklarasjonsseksjon
EN pl / SQL-blokk har en deklarasjonsseksjon der du deklarerer variabler, tildeler minne for markører og definerer datatyper.
2) Kjørbar seksjon
EN PL / SQL-blokk har en kjørbar seksjon. En kjørbar seksjon starter med søkeordet BEGIN
og slutter med søkeordet END
. Den kjørbare delen må ha minst en kjørbar setning, selv om det er NULL
– setningen som ikke gjør noe.
3) Seksjon For Unntakshåndtering
EN pl / SQL-blokk har en seksjon for unntakshåndtering som starter med nøkkelordet EXCEPTION
. Delen unntakshåndtering er der du fanger og håndterer unntak som er hevet av koden i utførelsesdelen.
merk en blokk i seg selv er en kjørbar setning, derfor kan du neste en blokk i andre blokker.
PL/SQL anonym blokk eksempel
følgende eksempel viser en enkel pl/SQL anonym blokk med en kjørbar seksjon.
den kjørbare delen kaller DMBS_OUTPUT.PUT_LINE
– prosedyren for å vise "Hello World"
– meldingen på skjermen.
Utfør EN pl / SQL anonym blokk ved HJELP AV SQL * Plus
Når du har koden til en anonym blokk, kan du utføre DEN ved HJELP AV SQL * Plus, som er et kommandolinjegrensesnitt for å utføre SQL-setning og PL/SQL-blokker levert Av Oracle Database.
følgende bilde illustrerer hvordan du utfører EN pl / SQL-blokk ved HJELP AV SQL * Plus:
koble først Til Oracle-Databaseserveren ved hjelp av et brukernavn og passord.
For Det Andre slår du på serverutgangen ved hjelp av kommandoen SET SERVEROUTPUT ON
slik at prosedyren DBMS_OUTPUT.PUT_LINE
viser tekst på skjermen.
For Det Tredje skriver du koden til blokken og skriver inn en skråstrek (/
) for Å instruere SQL * Plus til å utføre blokken. NÅR DU skriver forward-slash (/), VIL SQL*Plus utføre blokken og vise meldingen Hello World
på skjermen som vist i illustrasjonene.
Merk at du må utføre kommandoen SET SERVEROUTPUT ON
i hver økt du kobler Til Oracle-Databasen for å vise meldingen ved hjelp av prosedyren DBMS_OUTPUT.PUT_LINE
.
for å utføre blokken du har skrevet inn igjen, bruker du kommandoen /
i stedet for å skrive alt fra bunnen av:
hvis du vil redigere kodeblokken, bruk kommandoen edit
. SQL * Plus vil skrive kodeblokken til en fil og åpne den i en tekstredigerer som vist på bildet nedenfor:
du kan endre innholdet i filen som følgende:
lagre og lukk filen. Innholdet i filen vil bli skrevet til bufferen og rekompilert.
etter det kan du utføre kodeblokken igjen, den vil bruke den nye koden:
Utfør EN pl / SQL anonym blokk ved HJELP AV SQL Developer
først kobler du Til Oracle-Databaseserveren ved Hjelp Av Oracle SQL Developer.
For Det andre oppretter du en NY SQL-fil som heter anonymous-block.sql
bodde i katalogen C:\plsql
som lagrer pl / SQL-koden.
Tredje, skriv INN pl / SQL-koden og utfør den ved å klikke På Utfør-knappen eller trykke På Ctrl-Enter-hurtigtasten.
Flere pl/SQL anonym block eksempler
i dette eksemplet erklærer vi først en variabel l_message
som inneholder hilsen meldingen. Og så, i utførelsesdelen, bruker vi prosedyren DBMS_OUTPUT.PUTLINE
for å vise innholdet i denne variabelen i stedet for å bruke en bokstavelig streng.
her er utgangen:
Hello World!
det neste anonyme blokkeksemplet legger til en unntakshåndteringsdel som fanger ZERO_DIVIDE
unntak hevet i den kjørbare delen og viser en feilmelding.
feilen mesage er:
ORA-01476: divisor is equal to zero
Nå bør du vite hvordan du lager pl / SQL anonyme blokker og utfører dem ved HJELP AV SQL*Plus Og Oracle SQL Developer tools.
- Var denne opplæringen nyttig?
- YesNo