Oracle PL/SQL izjava o slučaju

Oracle Pl Sql Izjava O Slucaju



Upravljački tok je jedan od primarnih gradivnih blokova u programiranju. Definira redoslijed kojim se različiti blokovi koda izvršavaju u programu.

Kao i većina programskih jezika, Oracle PL/SQL jezik pruža različite kontrolne naredbe tijeka kao što su IF-THEN, CASE, FOR, WHILE, itd.







U ovom postu naučit ćemo kako raditi s naredbom CASE u PL/SQL-u da bismo uveli tok kontrole u naše Oracle upite.



Uvod u naredbu CASE

Naredba CASE omogućuje definiranje niza izjava. Naredba case zatim odabire jedan niz za izvršenje na temelju navedenog uvjeta.



Zamislite to kao učinkovitiji način deklariranja skupa if-then blokova uz očuvanje čitljivosti.





Sintaksu naredbe CASE možemo izraziti u Oracleu kao što je prikazano u sljedećem:

SLUČAJ
WHEN uvjet1 THEN rezultat1
WHEN uvjet2 THEN rezultat2
...
ILSE rezultat
KRAJ

Izjava CASE procjenjuje svaki uvjet u klauzulama WHEN u ovoj sintaksi.



Ako naredba pronađe podudarnu naredbu, vraća podudarni rezultat. Međutim, u nekim slučajevima iskaz slučaja možda neće pronaći odgovarajući uvjet. U takvom scenariju, naredba izvršava rezultat koji je definiran u bloku ELSE.

BILJEŠKA : Blok ELSE nije obavezan. Ako nije dostupan, motor baze podataka koristi sljedeću sintaksu:

DRUGO:
RAISE CASE_NOT_FOUND;

To omogućuje motoru baze podataka da podigne iznimku i pauzira izvršenje kada ne postoji odgovarajući uvjet.

Primjer 1: Osnovni primjer naredbe CASE

Ovaj primjer prikazuje osnovni primjer upotrebe operatora case u Oracleu:

proglasiti
dobni broj;
unos char(10);
početi
dob := 24;
starost slučaja
kada 17 tada
unos := 'denined';
kada 24 tada
unos := '9,99';
kad 45 tada
unos :='15,99';
drugo
unos := 'nije dopušteno';
kraj slučaja;
DBMS_OUTPUT.PUT_LINE(unos);
kraj;

Navedena ilustracija trebala bi testirati bilo koji uvjet podudaranja i vratiti odgovarajući status. Na primjer, budući da je uvjet podudaranja 24, klauzula se vraća na sljedeći način:

9.99

Primjer 2: Izjava CASE s tablicom baze podataka

Ovaj primjer koristi naredbu case s tablicom baze podataka.

odaberite ime, prezime, plaću,
slučaj
kada je plaća  2500 onda 'Visoka'
inače 'Nepoznato'
završava kao status_plaće
od ZAPOSLENIKA;

Navedeni upit koristi iskaz slučaja za testiranje raspona plaća iz tablice zaposlenika.

Rezultirajuća vrijednost je kao što je prikazano u nastavku:

Zaključak

U ovom ste postu naučili kako koristiti Oracleovu naredbu slučaja za testiranje različitih uvjeta i izvođenje radnje ako je jedan istinit.