Per la quot;costruzione" delle condizioni è possibile operare dei confronti utilizzando gli operatori di confronto:
- = – uguale
- > – maggiore
- < – minore
- >= – maggiore o uguale
- <= – minore o uguale
- <> o != – diverso
IF prezzo < 100 THEN
...
END IF
Molto utili nella costruzione di costrutti condizionali sono, anche, i cosidetti operatori logici. Questi sono:
- NOT (o !) – negazione
- AND (o &&) – congiunzione
- OR o (||) – alternativa
- XOR – anche detto "OR Esclusivo"
IF NOT prezzo < 100 THEN
...
END IF
equivale, di fatto a:
IF prezzo >= 100 THEN
...
END IF
Vediamo un semplice esempio:
DECLARE
var_stipendio NUMBER;
BEGIN
SELECT Stipendio INTO var_stipendio WHERE Cognome = 'Rossi';
IF var_stipendio >= 100000 THEN
THEN
INSERT INTO Log (Messaggio) VALUES ('Lo stipendio del Signor Rossi è extra budget.');
ELSE
INSERT INTO Log (Messaggio) VALUES ('Lo stipendio del Signor Rossi è OK.');
END IF;
END;
La clausola AND viene utilizzata per creare condizioni complesse composte da sotto-condizioni che devono essere tutte verificate affinchè la condizione che le contiene tutte possa considerarsi soddisfatta:
IF prezzo < 100 AND sconto > 10 THEN
...
END IF
Nel nostro esempio la condizione sarà verificata se il prezzo è inferiore a 100 ed, allo stesso tempo, lo sconto è maggiore di 10.
La clausola OR, infine, prevede che una condizione multipla sia verificata se almeno una delle sotto-condizioni risulta vera; tornando al nostro esempio:
IF prezzo < 100 OR sconto > 10 THEN
...
END IF
La condizione risulta verificata se il prezo è inferiore a 100 oppure se lo sconto è maggiore di 10.
Oltre a questi vanno ricordati, inoltre:
- IS NULL – verifica se un valore è nullo
- IS NOT NULL – verifica che un valore non sia nullo
- BETWEEN – verifica che un valore sia compreso in un range di valori
- IN – verifica che un valore sia compreso in una lista di valori possibili
- LIKE – verifica corrispondenze parziali; nella stringa di confronto possono essere usati caratteri speciali come % (qualsiasi carattere, nessuna o più occorrenze) e _ (una carattere qualsiasi).
IF cognome LIKE 'Bian%' THEN
...
END IF
La condizione sarà verificata per i cognomi Bianchi, Bianchetti, Biandini, ecc. cioè per ogni cognome che inizia con "Bian".Pubblicitร