Dichiarazione del caso Oracle PL/SQL

Dichiarazione Del Caso Oracle Pl Sql



Il flusso di controllo è uno dei principali elementi costitutivi della programmazione. Definisce l'ordine in cui i vari blocchi di codice vengono eseguiti in un programma.

Come la maggior parte dei linguaggi di programmazione, il linguaggio Oracle PL/SQL fornisce varie istruzioni del flusso di controllo come IF-THEN, CASE, FOR, WHILE, ecc.







In questo post impareremo come lavorare con l'istruzione CASE in PL/SQL per introdurre il flusso di controllo nelle nostre query Oracle.



Introduzione alla dichiarazione CASE

L'istruzione CASE consente di definire una sequenza di istruzioni. L'istruzione case seleziona quindi una sequenza da eseguire in base alla condizione specificata.



Pensalo come un modo più efficiente per dichiarare un insieme di blocchi if-then preservando la leggibilità.





Possiamo esprimere la sintassi dell'istruzione CASE in Oracle come mostrato di seguito:

ASTUCCIO
WHEN condizione1 THEN risultato1
WHEN condizione2 THEN risultato2
...
ALTRO risultato
FINE

L'istruzione CASE valuta ogni condizione nelle clausole WHEN in questa sintassi.



Se l'istruzione trova un'istruzione corrispondente, restituisce il risultato corrispondente. Tuttavia, in alcuni casi, l'istruzione case potrebbe non trovare una condizione corrispondente. In tale scenario, l'istruzione esegue il risultato definito nel blocco ELSE.

NOTA : Il blocco ELSE è opzionale. Se non disponibile, il motore di database utilizza la seguente sintassi:

ALTRO:
RAISE CASE_NOT_FOUND;

Ciò consente al motore di database di sollevare un'eccezione e sospendere l'esecuzione quando non esiste una condizione corrispondente.

Esempio 1: Esempio di base dell'istruzione CASE

Questo esempio mostra un esempio di utilizzo di base dell'operatore case in Oracle:

dichiarare
numero di età;
voce char(10);
inizio
età := 24;
età del caso
quando 17 poi
entry := 'negato';
quando 24 poi
voce := '9.99';
quando 45 poi
voce :='15.99';
altro
entry := 'non consentito';
cassa finale;
DBMS_OUTPUT.PUT_LINE(voce);
fine;

L'illustrazione fornita dovrebbe verificare la presenza di qualsiasi condizione corrispondente e restituire lo stato corrispondente. Ad esempio, poiché la condizione di corrispondenza è 24, la clausola restituisce quanto segue:

9,99

Esempio 2: istruzione CASE con una tabella di database

Questo esempio utilizza l'istruzione case con una tabella di database.

selezionare nome, cognome, stipendio,
Astuccio
quando stipendio  2500 quindi 'Alto'
altro 'Sconosciuto'
termina come salary_status
dai DIPENDENTI;

La query fornita utilizza l'istruzione case per testare l'intervallo di stipendio dalla tabella dei dipendenti.

Il valore risultante è come mostrato di seguito:

Conclusione

In questo post, hai imparato come utilizzare l'istruzione case Oracle per testare le varie condizioni ed eseguire un'azione se una è vera.