Declarație de caz Oracle PL/SQL

Declaratie De Caz Oracle Pl Sql



Fluxul de control este unul dintre elementele de bază ale programării. Acesta definește ordinea în care diferitele blocuri de cod sunt executate într-un program.

La fel ca majoritatea limbajelor de programare, limbajul Oracle PL/SQL oferă diverse instrucțiuni de flux de control, cum ar fi IF-THEN, CASE, FOR, WHILE etc.







În această postare, vom învăța cum să lucrăm cu instrucțiunea CASE în PL/SQL pentru a introduce fluxul de control în interogările noastre Oracle.



Introducere în Declarația CASE

Instrucțiunea CASE vă permite să definiți o secvență de instrucțiuni. Instrucțiunea case selectează apoi o secvență de executat pe baza condiției specificate.



Gândiți-vă la asta ca la o modalitate mai eficientă de a declara un set de blocuri if-then, păstrând în același timp lizibilitatea.





Putem exprima sintaxa instrucțiunii CASE în Oracle așa cum se arată în următoarele:

CAZ
CÂND condiția1 ATUNCI rezultat1
CÂND condiția2 ATUNCI rezultatul2
...
ELSE rezultat
Sfârşit

Declarația CASE evaluează fiecare condiție din clauzele WHEN din această sintaxă.



Dacă instrucțiunea găsește o instrucțiune care se potrivește, returnează rezultatul potrivit. Cu toate acestea, în unele cazuri, declarația de caz poate să nu găsească o condiție de potrivire. Într-un astfel de scenariu, instrucțiunea execută rezultatul care este definit în blocul ELSE.

NOTĂ : Blocul ELSE este opțional. Dacă nu este disponibil, motorul bazei de date utilizează următoarea sintaxă:

ALTE:
RAISE CASE_NOT_FOUND;

Acest lucru permite motorului bazei de date să ridice o excepție și să întrerupă execuția atunci când nu există nicio condiție de potrivire.

Exemplul 1: Exemplu de bază pentru instrucțiunea CASE

Acest exemplu arată un exemplu de bază de utilizare a operatorului caz în Oracle:

declara
numărul de vârstă;
intrarea char(10);
ÎNCEPE
varsta := 24;
vârsta cazului
când 17 atunci
intrare := 'denined';
când 24 atunci
intrare := '9,99';
când 45 atunci
intrare:='15,99';
altfel
intrare := 'nu este permis';
caz final;
DBMS_OUTPUT.PUT_LINE(intrare);
Sfârşit;

Ilustrația furnizată ar trebui să testeze orice condiție de potrivire și să returneze starea corespunzătoare. De exemplu, deoarece condiția de potrivire este 24, clauza returnează după cum urmează:

9,99

Exemplul 2: Instrucțiunea CASE cu un tabel de bază de date

Acest exemplu folosește instrucțiunea case cu un tabel de bază de date.

selectați prenume, prenume, salariu,
caz
când salariul  2500, apoi „Mare”
altfel 'Necunoscut'
termina ca salariu_status
de la ANGAJATI;

Interogarea furnizată utilizează declarația de caz pentru a testa intervalul de salarii din tabelul angajaților.

Valoarea rezultată este așa cum se arată în următoarele:

Concluzie

În această postare, ați învățat cum să utilizați instrucțiunea Oracle case pentru a testa diferitele condiții și pentru a efectua o acțiune dacă una este adevărată.