PL/SQL-lohko: RAKENNE, syntaksi, ANONYMI Esimerkki

Mikä on PL/SQL-lohko?

PL/SQL:ssä koodia ei suoriteta yksirivisessä muodossa, vaan se suoritetaan aina ryhmittelemällä koodi yhdeksi elementiksi nimeltä Blocks. Tässä opetusohjelmassa opit näistä lohkoista.

Lohkot sisältävät sekä PL/SQL:n että SQL-käskyn. Kaikki nämä käskyt suoritetaan kokonaisuutena sen sijaan, että suoritettaisiin yksittäinen komento kerrallaan.

Lohkon rakenne

PL/SQL-lohkoilla on ennalta määritetty rakenne, johon koodi ryhmitellään. Alla on eri osioita PL/SQL-lohkoista.

  1. Ilmoitusosio
  2. Toteutusosio
  3. Poikkeus-käsittely-osio

Alla oleva kuva havainnollistaa eri PL/SQL-lohkoja ja niiden osiojärjestystä.

Lohkon rakenne

Julistusosio

Tämä on PL/SQL-lohkojen ensimmäinen osa. Tämä osio on valinnainen osa. Tämä on osio, jossa lohkossa tarvittavien muuttujien, kohdistimien, poikkeusten, aliohjelmien, käytännön käskyjen ja kokoelmien ilmoitus ilmoitetaan. Alla on muutamia tämän osan ominaisuuksia.

  • Tämä osio on valinnainen, ja se voidaan ohittaa, jos ilmoituksia ei tarvita.
  • Tämän pitäisi olla ensimmäinen osio PL/SQL-lohkossa, jos sellainen on.
  • Tämä osio alkaa avainsanalla 'DECLARE' liipaisimia ja anonyymejä estoja varten. Muissa aliohjelmissa tämä avainsana ei ole läsnä. Sen sijaan aliohjelman nimen määrittelyn jälkeinen osa merkitsee ilmoitusosion.
  • Tämän osan jälkeen tulee aina olla suoritusosio.

Suoritusosio

Suoritusosa on tärkein ja pakollinen osa, joka todella suorittaa sen sisään kirjoitetun koodin. Koska PL / SQL odottaa suoritettavia käskyjä tästä lohkosta tämä ei voi olla tyhjä lohko, eli siinä tulee olla vähintään yksi kelvollinen suoritettava koodirivi. Alla on muutamia tämän osan ominaisuuksia.

  • Tämä voi sisältää sekä PL/SQL-koodia että SQL-koodia.
  • Tämä voi sisältää yhden tai useita lohkoja sisäkkäisenä lohkona.
  • Tämä osio alkaa avainsanalla "BEGIN".
  • Tämän osion jälkeen tulee joko 'END' tai Exception-Handling -osio (jos sellainen on)

Poikkeuskäsittely-osio

Poikkeus on väistämätön ohjelmassa, joka tapahtuu ajon aikana ja sen käsittelemiseksi Oracle on tarjonnut Poikkeuskäsittely-osion lohkoissa. Tämä osa voi sisältää myös PL/SQL-käskyjä. Tämä on valinnainen osa PL/SQL-lohkoista.

  • Tämä on osa, jossa suorituslohkossa esiin nostettu poikkeus käsitellään.
  • Tämä osa on PL/SQL-lohkon viimeinen osa.
  • Ohjaus tästä osasta ei voi koskaan palata suorituslohkoon.
  • Tämä osio alkaa avainsanalla 'POIKKEUS'.
  • Tämän osion jälkeen tulee aina olla avainsana 'END'.

Avainsana 'END' merkitsee PL/SQL-lohkon loppua.

PL/SQL-lohkosyntaksi

Alla on PL/SQL-lohkorakenteen syntaksi.

PL/SQL-lohkosyntaksi

DECLARE --optional
    <declarations>

BEGIN   --mandatory
    <executable statements. At least one executable statement is mandatory>

EXCEPTION --optional 
    <exception handles>

END;   --mandatory
/

Huomautus: Lohkon perässä tulee aina olla '/', joka lähettää kääntäjälle tiedon lohkon päättymisestä.

PL/SQL-lohkojen tyypit

PL/SQL-lohkoja on pääasiassa kahta tyyppiä.

  1. Anonyymit lohkot
  2. nimeltä Blocks

Anonyymit lohkot

Anonyymit lohkot ovat PL/SQL-lohkoja, joille ei ole annettu mitään nimiä. Ne on luotava ja käytettävä samassa istunnossa, koska niitä ei tallenneta palvelimeen tietokantaobjekteina.

Koska niitä ei tarvitse tallentaa tietokantaan, ne eivät tarvitse käännösvaiheita. Ne kirjoitetaan ja suoritetaan suoraan, ja kokoaminen ja suoritus tapahtuvat yhdessä prosessissa.

Alla on muutamia Anonyymien lohkojen ominaisuuksia.

  • Näille lohkoille ei ole määritetty viitenimeä.
  • Nämä lohkot alkavat avainsanalla DECLARE tai BEGIN.
  • Koska näillä lohkoilla ei ole viitenimeä, niitä ei voi tallentaa myöhempää käyttöä varten. Ne luodaan ja suoritetaan samassa istunnossa.
  • He voivat kutsua muita nimettyjä lohkoja, mutta kutsuminen nimettömään lohkoon ei ole mahdollista, koska sillä ei ole viittausta.
  • Siinä voi olla sisäkkäisiä lohkoja, jotka voivat olla nimettyjä tai nimettömiä. Se voidaan myös upottaa mihin tahansa lohkoon.
  • Näissä lohkoissa voi olla kaikki kolme lohkon osaa, joissa suoritusosio on pakollinen, kaksi muuta osiota ovat valinnaisia.

Nimetyt lohkot

Nimetyillä lohkoilla on niille erityinen ja ainutlaatuinen nimi. Ne tallennetaan tietokantaobjekteina palvelimelle. Koska ne ovat saatavilla tietokantaobjekteina, niihin voidaan viitata tai niitä voidaan käyttää niin kauan kuin se on palvelimella. Nimettyjen lohkojen käännösprosessi tapahtuu erikseen luotaessa niitä tietokantaobjekteina.

Alla on muutamia muita nimettyjen lohkojen ominaisuuksia.

  • Näitä lohkoja voidaan kutsua muista lohkoista.
  • Lohkon rakenne on sama kuin anonyymin lohkon, paitsi että se ei koskaan ala avainsanalla 'DECLARE'. Sen sijaan se alkaa avainsanalla 'CREATE', joka käskee kääntäjää luomaan sen tietokantaobjektiksi.
  • Nämä lohkot voidaan upottaa muiden lohkojen sisään. Se voi sisältää myös sisäkkäisiä lohkoja.
  • Nimetyt lohkot ovat periaatteessa kahta tyyppiä:
  1. menettely
  2. Toiminto

Opimme lisää näistä nimetyistä lohkoista myöhemmän opetusohjelman aiheissa "Prosedure" ja "Function".

Yhteenveto

Tämän opetusohjelman jälkeen sinun tulee olla tietoinen PL/SQL-lohkoista ja niiden tyypeistä, lohkojen eri osista ja niiden käytöstä. Yksityiskohtainen kuvaus nimetyistä PL/SQL-lohkoista käsitellään myöhemmässä opetusohjelmassa.