PL/SQL Anonymous Block

sammanfattning: i den här handledningen lär du dig om PL/SQL anonymous block och hur du kör det med SQL*Plus och SQL Developer tools.

PL/SQL anonym blocköversikt

PL / SQL är ett blockstrukturerat språk vars kod är organiserad i block. Ett PL / SQL-block består av tre sektioner: deklaration, körbar och undantagshanteringsavsnitt. I ett block är det körbara avsnittet obligatoriskt medan avsnitten deklaration och undantagshantering är valfria.

ett PL / SQL-block har ett namn. Funktioner eller procedurer är ett exempel på ett namngivet block. Ett namngivet block lagras i Oracle-databasservern och kan återanvändas senare.

ett block utan namn är ett anonymt block. Ett anonymt block sparas inte i Oracle-databasservern, så det är bara för engångsbruk. PL / SQL anonyma block kan dock vara användbara för teständamål.

följande bild illustrerar strukturen för ett PL / SQL-block:

PL / SQL anonym block

1) deklarationsavsnittet

ett PL / SQL-block har ett deklarationsavsnitt där du deklarerar variabler, allokerar minne för markörer och definierar datatyper.

2) körbar sektion

ett PL/SQL-block har en körbar sektion. Ett körbart avsnitt börjar med nyckelordet BEGINoch slutar med nyckelordet END. Det körbara avsnittet måste ha minst ett körbart uttalande, även om det är NULL – uttalandet som inte gör någonting.

3) avsnitt för undantagshantering

ett PL/SQL-block har ett avsnitt för undantagshantering som börjar med nyckelordet EXCEPTION. Avsnittet undantagshantering är där du fångar och hanterar undantag som tas upp av koden i avsnittet utförande.

Obs ett block i sig är ett körbart uttalande, därför kan du bo ett block i andra block.

PL/SQL anonymt blockexempel

följande exempel visar ett enkelt PL / SQL anonymt block med en körbar sektion.

det körbara avsnittet anropar proceduren DMBS_OUTPUT.PUT_LINE för att visa meddelandet "Hello World" på skärmen.

kör ett PL / SQL anonymt block med SQL * Plus

när du har koden för ett anonymt block kan du köra det med SQL*Plus, vilket är ett kommandoradsgränssnitt för att köra SQL-uttryck och PL/SQL-block som tillhandahålls av Oracle Database.

följande bild illustrerar hur man kör ett PL / SQL-block med SQL * Plus:

PL / SQL anonym block exempel

Anslut först till Oracle-databasservern med ett användarnamn och lösenord.

för det andra, slå på serverutmatningen med kommandot SET SERVEROUTPUT ON så att proceduren DBMS_OUTPUT.PUT_LINE visar text på skärmen.

tredje, skriv koden för blocket och ange ett snedstreck framåt ( /) för att instruera SQL*Plus att köra blocket. När du skriver framåt snedstreck (/), SQL*Plus kommer att köra blocket och visa Hello World meddelande på skärmen som visas i illustrationerna.

Observera att du måste köra kommandot SET SERVEROUTPUT ON i varje session som du ansluter till Oracle-databasen för att visa meddelandet med proceduren DBMS_OUTPUT.PUT_LINE.

för att köra blocket som du har angett igen använder du kommandot / istället för att skriva allt från början:

PLSQL anonymous block-kör ett block igen

om du vill redigera kodblocket använder du kommandot edit. SQL * Plus skriver kodblocket till en fil och öppnar det i en textredigerare som visas på följande bild:

PLSQL anonymous block-edit

du kan ändra innehållet i filen som följande:

och spara och stäng filen. Innehållet i filen kommer att skrivas till bufferten och kompileras om.

därefter kan du köra kodblocket igen, det kommer att använda den nya koden:

PLSQL anonymous block-kör

kör ett PL/SQL anonymous block med SQL Developer

Anslut först till Oracle-databasservern med Oracle SQL Developer.

för det andra, skapa en ny SQL-fil med namnet anonymous-block.sql bosatt i katalogen C:\plsql som lagrar PL/SQL-koden.

PL / SQL anonym block-sql-utvecklare
PL / SQL anonymous block-sql developer-skapa SQL-fil

tredje, ange PL/SQL-koden och kör den genom att klicka på Execute-knappen eller trycka på Ctrl-Enter-kortkommandot.

PL/SQL anonymous block - SQL developer - execute PL/SQL Block

fler PL/SQL anonymous block exempel

i det här exemplet förklarar vi först en variabel l_message som innehåller hälsningsmeddelandet. Och sedan, i exekveringsavsnittet, använder vi DBMS_OUTPUT.PUTLINE – proceduren för att visa innehållet i denna variabel istället för att använda en bokstavlig sträng.

här är utgången:

Hello World!

nästa anonyma blockexempel lägger till ett avsnitt för undantagshantering som fångar ZERO_DIVIDE undantag som tagits upp i det körbara avsnittet och visar ett felmeddelande.

felet mesage är:

ORA-01476: divisor is equal to zero

nu borde du veta hur man skapar PL/SQL anonyma block och kör dem med SQL*Plus och Oracle SQL Developer tools.

  • var denna handledning till hjälp?
  • ja nej



+