Capitolul II Structurarea bazelor de date
Capitolul II Structurarea bazelor de date
Capitolul II Structurarea bazelor de date
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
48<br />
b. IF-THEN-ELSE<br />
Exemplu:<br />
BEGIN<br />
END;<br />
/<br />
-- Declaratii <strong>de</strong> variabile<br />
vanzari NUMBER(8,2) := 12100;<br />
cota NUMBER(8,2) := 10000;<br />
bonus NUMBER(6,2);<br />
ang_id NUMBER(6) := 120;<br />
IF vanzari > (cota + 200) THEN<br />
ELSE<br />
END IF;<br />
bonus := (vanzari - cota)/4;<br />
bonus := 50;<br />
UPDATE angajati SET salar = salar + bonus WHERE<br />
angajat_id = ang_id;<br />
În secvenŃa anterioară prezenŃa clauzei ELSE permite <strong>de</strong>finirea a două<br />
blocuri <strong>de</strong> instrucŃiuni, unul cuprins între THEN şi ELSE şi al doilea cuprins între<br />
ELSE şi END IF. În funcŃie <strong>de</strong> valoarea <strong>de</strong> a<strong>de</strong>văr a expresiei logice va fi executat<br />
primul bloc sau al doilea.<br />
c. IF-THEN-ELSIF<br />
Uneori este necesară alegerea unei secvenŃe <strong>de</strong> cod din mai multe,<br />
fiecare fiind condiŃionată <strong>de</strong> câte o expresie logică. În acest caz se recomandă<br />
folosirea structurii IF-THEN-ELSIF.<br />
Exemplu:<br />
-- Declaratii <strong>de</strong> variabile<br />
vanzari NUMBER(8,2) := 20000;<br />
bonus NUMBER(6,2);<br />
ang_id NUMBER(6) := 120;<br />
BEGIN<br />
IF vanzari > 50000 THEN<br />
bonus := 1500;<br />
ELSIF vanzari > 35000 THEN<br />
bonus := 500;<br />
ELSE