Stampa      Aprire la Guida in linea in versione PDF


Argomento precedente

Argomento successivo

Istruzioni Case

Le istruzioni Case sono blocchi di costruzione per la creazione di espressioni condizionali che possono produrre diversi risultati per diversi valori di colonna.

Case (Switch)

Questo modulo dell'istruzione Case viene anche denominato modulo CASE (Lookup). Viene esaminato il valore di expression1, quindi le espressioni WHEN. Se expression1 corrisponde a qualsiasi espressione WHEN, assegna il valore nell'espressione THEN corrispondente.

Se expression1 corrisponde a un'espressione in più di una clausola WHEN, viene assegnata solo l'espressione che segue la prima corrispondenza.

Se nessuna delle espressioni WHEN corrisponde, assegna il valore specificato nell'espressione ELSE. Se non è specificata alcuna espressione ELSE, assegna il valore NULL.

Fare riferimento anche all'istruzione Case (If).

Sintassi:

CASE expression1

Espressione WHEN espressione THEN

{espressione WHEN... espressione THEN...}

Espressione ELSE

END

Dove:

CASE

Inizia l'istruzione CASE. Deve essere seguito da un'espressione e una o più istruzioni THEN, un'istruzione ELSE facoltativa e la parola chiave END.

WHEN

Specifica la condizione da soddisfare.

THEN

Specifica il valore da assegnare se l'espressione WHEN corrispondente è soddisfatta.

ELSE

Specifica il valore che deve essere assegnato se non viene soddisfatta alcuna espressione WHEN. Se omesso, si presuppone ELSE NULL.

END

Termina l'istruzione CASE.

Esempio

CASE Score-par

WHEN -5 THEN 'Birdie on Par 6'

WHEN -4 THEN 'Must be Tiger'

WHEN -3 THEN 'Three under par'

WHEN -2 THEN 'Two under par'

WHEN -1 THEN 'Birdie'

WHEN 0 THEN 'Par'

WHEN 1 THEN 'Bogey'

WHEN 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

Nell'esempio precedente, le istruzioni WHEN devono riflettere un'uguaglianza esatta; una condizione WHEN di

WHEN < 0 THEN 'Under Par'

non è valida perché gli operatori di confronto non sono consentiti.

Case (If)

Questo modulo dell'istruzione Case valuta ogni condizione WHEN e, se soddisfatta, assegna il valore nell'espressione THEN corrispondente.

Se nessuna delle condizioni WHEN è soddisfatta, assegna il valore predefinito specificato nell'espressione ELSE. Se non è specificata alcuna espressione ELSE, assegna il valore NULL.

Fare riferimento anche all'istruzione Case (Switch).

Sintassi:

CASE

WHEN request_condition1 THEN expression1

{WHEN request_condition2 THAN expression2}

{WHEN request_condition... espressione THEN...}

Espressione ELSE

END

Dove:

CASE

Inizia l'istruzione CASE. Deve essere seguito da una o più istruzioni WHEN e THEN, un'istruzione ELSE facoltativa e la parola chiave END.

WHEN

Specifica la condizione da soddisfare.

THEN

Il valore da assegnare se l'espressione WHEN corrispondente è soddisfatta.

ELSE

Specifica il valore da assegnare se nessuna condizione WHEN è soddisfatta. Se omesso, si presuppone ELSE NULL.

END

Termina l'istruzione CASE.

Esempio

CASE

WHEN score-par < 0 THEN 'Under Par'

WHEN score-par = 0 THEN 'Par'

WHEN score-par = 1 THEN 'Bogie'

WHEN score-par = 2 THEN 'Double Bogey'

ELSE 'Triple Bogey or Worse'

END

A differenza del modulo Switch dell'istruzione CASE, le istruzioni WHEN nel modulo If consentono operatori di confronto; una condizione WHEN

WHEN < 0 THEN 'Under Par'

è valida.


Data di pubblicazione : agosto 2018 Copyright © 2005, 2018, Oracle. Tutti i diritti riservati. Legal Notices.