Oracle PL/SQL -tapauslausunto

Oracle Pl Sql Tapauslausunto



Ohjausvirtaus on yksi ohjelmoinnin tärkeimmistä rakennuspalikoista. Se määrittää järjestyksen, jossa eri koodilohkot suoritetaan ohjelmassa.

Kuten useimmat ohjelmointikielet, Oraclen PL/SQL-kieli tarjoaa erilaisia ​​ohjausvirtalausekkeita, kuten IF-THEN, CASE, FOR, WHILE jne.







Tässä viestissä opimme työskentelemään CASE-käskyn kanssa PL/SQL:ssä ohjausvirran käyttöönottamiseksi Oracle-kyselyissämme.



Johdatus CASE-lausumaan

CASE-käskyn avulla voit määrittää lauseiden sarjan. Tapauslauseke valitsee sitten yhden suoritettavan sekvenssin määritetyn ehdon perusteella.



Ajattele sitä tehokkaampana tapana ilmoittaa joukko jos-niin-lohkoja säilyttäen samalla luettavuuden.





Voimme ilmaista CASE-käskyn syntaksin Oraclessa seuraavasti:

CASE
MILLOIN ehto1 NIIN tulos1
MILLOIN ehto2 NIIN tulos2
...
MUU tulos
LOPPU

CASE-käsky arvioi jokaisen tämän syntaksin WHEN-lauseen ehdon.



Jos lauseke löytää vastaavan lauseen, se palauttaa vastaavan tuloksen. Joissakin tapauksissa tapauslauseke ei kuitenkaan välttämättä löydä vastaavaa ehtoa. Tällaisessa skenaariossa käsky suorittaa ELSE-lohkossa määritellyn tuloksen.

HUOMAUTUS : ELSE-lohko on valinnainen. Jos tietokantamoottori ei ole käytettävissä, se käyttää seuraavaa syntaksia:

MUU:
NOSTA CASE_NOT_FOUND;

Tämän ansiosta tietokantamoottori voi nostaa poikkeuksen ja keskeyttää suorituksen, kun vastaavaa ehtoa ei ole.

Esimerkki 1: CASE-lausunnon perusesimerkki

Tämä esimerkki näyttää tapausoperaattorin perusesimerkkikäytön Oraclessa:

julistaa
ikänumero;
merkintämerkki(10);
alkaa
ikä:= 24;
tapauksen ikä
silloin kun 17
merkintä := 'kielletty';
silloin kun 24
merkintä := '9,99';
silloin kun 45
merkintä :='15.99';
muu
merkintä := 'ei sallittu';
loppukotelo;
DBMS_OUTPUT.PUT_LINE(merkintä);
loppu;

Toimitetun kuvan tulee testata mahdollisia yhteensopivuusehtoja ja palauttaa vastaava tila. Esimerkiksi, koska vastaavuusehto on 24, lauseke palauttaa seuraavasti:

9.99

Esimerkki 2: CASE-lausunto tietokantataulukolla

Tässä esimerkissä käytetään tapauskäskyä tietokantataulukon kanssa.

valitse etunimi, sukunimi, palkka,
tapaus
kun palkka 2500 sitten 'korkea'
muuten 'Tuntematon'
päättyy palkka_tilaksi
alkaen EMPLOYEES;

Annettu kysely käyttää tapausselvitystä palkan vaihteluvälin testaamiseen työntekijöiden taulukosta.

Tuloksena oleva arvo on seuraavanlainen:

Johtopäätös

Tässä viestissä opit käyttämään Oraclen tapauslauseketta eri ehtojen testaamiseen ja toimintojen suorittamiseen, jos se on totta.