Summary: tässä opetusohjelmassa opit PL / SQL anonymous-blokista ja sen toteuttamisesta SQL*Plus-ja SQL Developer tools-työkaluilla.
PL/SQL anonymous block overview
PL/SQL on lohkorakenteinen kieli, jonka koodi on järjestetty lohkoihin. PL / SQL-lohko koostuu kolmesta osasta: ilmoitus -, suoritustiedosto-ja poikkeusten käsittely-osioista. Lohkossa suoritettava osio on pakollinen, kun taas ilmoitus-ja poikkeusten käsittelyosat ovat valinnaisia.
PL/SQL-lohkolla on nimi. Funktiot tai menettelytavat on esimerkki nimetystä lohkosta. Nimetty lohko tallennetaan Oraclen tietokantapalvelimeen ja sitä voidaan käyttää myöhemmin uudelleen.
nimetön lohko on nimetön lohko. Anonyymiä lohkoa ei tallenneta Oraclen tietokantapalvelimeen, joten se on vain kertakäyttöön. Kuitenkin, PL / SQL anonymous lohkot voivat olla hyödyllisiä testaustarkoituksiin.
seuraava kuva havainnollistaa PL / SQL-lohkon rakennetta:
1) Declaration section
A PL / SQL block on declaration section, jossa ilmoitetaan muuttujia, allokoidaan muistia cursoreille ja määritellään tietotyypit.
2) suoritettava osio
PL/SQL-lohkossa on suoritettava osio. Suoritettava osio alkaa avainsanalla BEGIN
ja päättyy avainsanaan END
. Suoritettavassa osiossa on oltava vähintään yksi suoritettava lausunto, vaikka se olisi NULL
lausunto, joka ei tee mitään.
3) poikkeusten käsittely-osiossa
PL/SQL-lohkossa on poikkeusten käsittely-osio, joka alkaa avainsanalla EXCEPTION
. Poikkeusten käsittely-osio on, jossa pyydystetään ja käsitellään poikkeukset, joita koodi nostaa suoritus-osiossa.
huomaa, että lohko itsessään on suoritettava lausunto, joten voit pesiä lohkon muiden lohkojen sisällä.
PL/SQL anonymous block esimerkki
seuraavassa esimerkissä on yksinkertainen PL/SQL anonymous block, jossa on yksi suoritettava osio.
suoritettava osio kutsuu DMBS_OUTPUT.PUT_LINE
– menettelyn näyttämään "Hello World"
– viestin näytöllä.
Suorita PL/SQL anonymous-lohko käyttäen SQL*Plus
kun sinulla on anonyymin lohkon koodi, voit suorittaa sen käyttämällä SQL*Plus-koodia, joka on Oracle-tietokannan tarjoama komentoriviliitäntä SQL-lausekkeen ja PL/SQL-lohkojen suorittamiseen.
seuraava kuva havainnollistaa, miten PL/SQL-lohko suoritetaan SQL*Plus-ohjelmalla:
yhdistä ensin Oraclen tietokantapalvelimeen käyttäjätunnuksella ja salasanalla.
toinen, Käynnistä palvelimen ulostulo komennolla SET SERVEROUTPUT ON
niin, että DBMS_OUTPUT.PUT_LINE
– menettely näyttää tekstin ruudulla.
kolmanneksi, Kirjoita lohkon koodi ja syötä etuviivaviiva (/
) ohjeistaaksesi SQL*Plus-toimintoa lohkon suorittamiseen. Kun kirjoitat eteenpäin-slash ( / ), SQL * Plus suorittaa Blokin ja näyttää Hello World
– viestin ruudulla kuten kuvassa.
huomaa, että SET SERVEROUTPUT ON
– komento on suoritettava jokaisessa Oraclen tietokantaan yhdistettävässä istunnossa, jotta viesti voidaan näyttää DBMS_OUTPUT.PUT_LINE
– menetelmällä.
suorittaaksesi syötetyn lohkon uudelleen, käytät /
komentoa sen sijaan, että kirjoittaisit kaiken tyhjästä:
jos haluat muokata koodilohkoa, käytä komentoa edit
. SQL * Plus kirjoittaa koodilohkon tiedostoon ja avaa sen tekstieditorissa seuraavan kuvan mukaisesti:
voit muuttaa tiedoston sisältöä seuraavasti:
Tallenna ja sulje tiedosto. Tiedoston sisältö kirjoitetaan puskuriin ja käännetään uudelleen.
tämän jälkeen voit suorittaa koodilohkon uudelleen, se käyttää uutta koodia:
Suorita PL/SQL anonymous block käyttäen SQL Developer
ensin yhteys Oraclen tietokantapalvelimeen Oracle SQL Developer-ohjelmalla.
toiseksi luo anonymous-block.sql
– niminen uusi SQL-tiedosto C:\plsql
– hakemistoon, joka tallentaa PL/SQL-koodin.
Third, enter the PL / SQL code and execute it by clicking Execute button or press the Ctrl-Enter keyboard shortcut.
More PL/SQL anonymous block examples
tässä esimerkissä julistamme ensin muuttujan l_message
, jossa on tervehdyssanoma. Ja sitten toteutusosiossa käytetään DBMS_OUTPUT.PUTLINE
– menettelyä, jossa näytetään muuttujan sisältö kirjaimellisen merkkijonon sijaan.
tässä on tuloste:
Hello World!
seuraava nimetön lohkoesimerkki lisää poikkeusten käsittelyosion, joka nappaa ZERO_DIVIDE
suoritettavassa osiossa esiin nostetun poikkeuksen ja näyttää virhesanoman.
virheilmoitus on:
ORA-01476: divisor is equal to zero
nyt, sinun pitäisi tietää, miten luoda PL / SQL anonyymi lohkot ja suorittaa ne käyttämällä SQL*Plus ja Oracle SQL Developer tools.
- oliko tästä opetuksesta apua?
- YesNo