Instrukcja warunkowe IF-THEN-ELSEIF
Ta instrukcja jest podobna do IF_THEN ale daje możliwość wykonania także jakiegoś zadania w przypadku gdy warunek nie jest spełniony lub chcemy dodać jakiś dodatkowy warunek, poniżej pokaże przykłada na podstawie którego wszystko będzie jasne, żeby było łatwiej zrozumieć wykorzystam ten sam przykład co w poprzednim zadaniu, dodając do tego zestawienia także informacje o osobach które osiągnęły wiek emerytalny a także niepełnoletnich.
DECLARE
imie1 VARCHAR2(23);
nazwisko1 VARCHAR2(23);
jaki VARCHAR2(10);
lata NUMBER(3);
BEGIN
select wiek, imie, nazwisko into lata,imie1,nazwisko1 FROM pracownik;
IF lata > 17 and lata =<64 THEN
jaki:=’DOROSŁY’;
DBMS_OUTPUT.PUT_LINE( ‘Pracownik: ‘ || imie1 ||’,'|| nazwisko ||’ jest już: ‘ || jaki);
ELSEIF lata>64
jaki:=’EMERYT’;
DBMS_OUTPUT.PUT_LINE( ‘Pracownik: ‘ || imie1 ||’,'|| nazwisko ||’ jest już: ‘ || jaki);
ELSE
jaki:=’JESZCZE NIE DOROSŁY’;
DBMS_OUTPUT.PUT_LINE( ‘Pracownik: ‘ || imie1 ||’,'|| nazwisko ||’ jest już: ‘ || jaki);
END IF;
END;
/
Dzięki tej instrukcji obsłużyliśmy 3 przypadki DOROSŁY, EMERYT, JESZCZE NIE DOROSŁY. Ten warunek jest bardziej rozbudowany i umożliwia na sprawdzenie kliku warunków i dla każdego wykonać jakieś zadanie.