Declaració de cas d'Oracle PL/SQL

Declaracio De Cas D Oracle Pl Sql



El flux de control és un dels components principals de la programació. Defineix l'ordre en què s'executen els diferents blocs de codi en un programa.

Com la majoria dels llenguatges de programació, el llenguatge Oracle PL/SQL proporciona diverses declaracions de flux de control com ara IF-THEN, CASE, FOR, WHILE, etc.







En aquesta publicació, aprendrem a treballar amb la instrucció CASE a PL/SQL per introduir el flux de control a les nostres consultes d'Oracle.



Introducció a la declaració CASE

La instrucció CASE us permet definir una seqüència d'instruccions. Aleshores, la instrucció case selecciona una seqüència per executar-se en funció de la condició especificada.



Penseu en això com una manera més eficient de declarar un conjunt de blocs if-then tot preservant la llegibilitat.





Podem expressar la sintaxi de la instrucció CASE a Oracle tal com es mostra a continuació:

CAIXA
QUAN condició1 LLAVORS resultat1
QUAN condició2 LLAVORS resultat2
...
resultat ELSE
FINAL

La sentència CASE avalua cada condició de les clàusules WHEN d'aquesta sintaxi.



Si la sentència troba una declaració coincident, retorna el resultat coincident. Tanmateix, en alguns casos, és possible que la declaració de cas no trobi una condició coincident. En aquest escenari, la instrucció executa el resultat que es defineix al bloc ELSE.

NOTA : El bloc ELSE és opcional. Si no està disponible, el motor de base de dades utilitza la sintaxi següent:

ALTRES:
AUGMENTA CASE_NOT_FOUND;

Això permet al motor de base de dades generar una excepció i aturar l'execució quan no hi ha cap condició de concordança.

Exemple 1: Exemple bàsic de la instrucció CASE

Aquest exemple mostra un exemple bàsic d'ús de l'operador de cas a Oracle:

declarar
nombre d'edat;
entrada char(10);
començar
edat:= 24;
edat del cas
quan 17 llavors
entrada := 'denegat';
quan 24 llavors
entrada := '9,99';
quan 45 llavors
entrada:='15,99';
altra cosa
entrada := 'no permès';
cas final;
DBMS_OUTPUT.PUT_LINE(entrada);
final;

La il·lustració proporcionada hauria de provar qualsevol condició de concordança i retornar l'estat corresponent. Per exemple, com que la condició de concordança és 24, la clàusula retorna de la manera següent:

9.99

Exemple 2: Declaració CASE amb una taula de base de dades

Aquest exemple utilitza la instrucció case amb una taula de base de dades.

seleccioneu nom, cognoms, sou,
Caixa
quan el sou  2500 llavors 'Alt'
altrament 'Desconegut'
acaba com a salary_status
dels EMPLEATS;

La consulta proporcionada utilitza la declaració del cas per provar el rang salarial de la taula dels empleats.

El valor resultant és el que es mostra a continuació:

Conclusió

En aquesta publicació, heu après a utilitzar la instrucció de cas d'Oracle per provar les diferents condicions i realitzar una acció si una és certa.