Oracle PL/SQL esetleírás

Oracle Pl Sql Esetleiras



A vezérlési folyamat a programozás egyik elsődleges építőköve. Meghatározza a különböző kódblokkok végrehajtásának sorrendjét egy programban.

A legtöbb programozási nyelvhez hasonlóan az Oracle PL/SQL nyelv is különféle vezérlőfolyamat-utasításokat biztosít, például IF-THEN, CASE, FOR, WHILE stb.







Ebben a bejegyzésben megtudjuk, hogyan dolgozhatunk a CASE utasítással PL/SQL-ben, hogy bemutassuk a vezérlési folyamatot az Oracle-lekérdezésekben.



A CASE nyilatkozat bevezetése

A CASE utasítás lehetővé teszi utasítások sorozatának meghatározását. A case utasítás ezután kiválaszt egy sorozatot a végrehajtáshoz a megadott feltétel alapján.



Tekintsd úgy, mint egy hatékonyabb módszert a ha-akkor blokkok deklarálására, miközben megőrzi az olvashatóságot.





A CASE utasítás szintaxisát az alábbi módon tudjuk kifejezni az Oracle-ben:

ÜGY
MIKOR feltétel1 THEN eredmény1
MIKOR feltétel2 THEN eredmény2
...
EGYÉB eredmény
VÉGE

A CASE utasítás kiértékeli a szintaxis WHEN záradékainak minden feltételét.



Ha az állítás egyező állítást talál, akkor az egyező eredményt adja vissza. Bizonyos esetekben azonban előfordulhat, hogy az esetleírás nem talál megfelelő feltételt. Ebben a forgatókönyvben az utasítás az ELSE blokkban definiált eredményt hajtja végre.

JEGYZET : Az ELSE blokk nem kötelező. Ha nem érhető el, az adatbázismotor a következő szintaxist használja:

MÁS:
CASE_NOT_FOUND EMELÉSE;

Ez lehetővé teszi az adatbázismotor számára, hogy kivételt hozzon létre, és szüneteltesse a végrehajtást, ha nincs egyező feltétel.

1. példa: CASE nyilatkozat alappélda

Ez a példa az esetoperátor alapvető használatát mutatja be az Oracle-ben:

kijelent
életkor száma;
bejegyzés char(10);
kezdődik
életkor := 24;
eset kora
amikor 17 akkor
bejegyzés := 'megtagadva';
amikor 24 akkor
bejegyzés := '9,99';
amikor 45 akkor
bejegyzés :='15,99';
más
bejegyzés := 'nem engedélyezett';
végügy;
DBMS_OUTPUT.PUT_LINE(bejegyzés);
vége;

A mellékelt illusztrációnak minden egyezési feltételt tesztelnie kell, és vissza kell adnia a megfelelő állapotot. Például, mivel az egyezési feltétel 24, a záradék a következőképpen tér vissza:

9.99

2. példa: CASE nyilatkozat adatbázistáblázattal

Ez a példa a case utasítást használja egy adatbázistáblával.

válassza ki a keresztnevet, a vezetéknevet, a fizetést,
ügy
ha a fizetés 2500, akkor 'magas'
egyébként 'ismeretlen'
fizetési_státuszként végződik
az EMPLOYEES-től;

A megadott lekérdezés az esetleírást használja a fizetési tartomány tesztelésére az alkalmazottak táblázatából.

Az eredményül kapott érték a következő képen látható:

Következtetés

Ebben a bejegyzésben megtanulta, hogyan használhatja az Oracle esetkiírást a különféle feltételek tesztelésére, és egy művelet végrehajtására, ha az igaz.