-- TRIGGER

-- TRIGGER 3 CiclomotoreOccupato

CREATE OR REPLACE TRIGGER AuditingInserimentoAssistenz
BEFORE INSERT OR UPDATE OF TARGA ON ASSISTENZA
FOR EACH ROW

DECLARE
dispCiclom DATE;
eccezioneCiclom EXCEPTION;

BEGIN

SELECT DISPONIBILITA INTO dispCiclom FROM CICLOMOTORE;
IF dispCiclom>:NEW.INIZIO_ASS THEN
RAISE eccezioneCiclom;
END IF;

EXCEPTION
WHEN eccezioneCiclom THEN
RAISE_APPLICATION_ERROR(-20022,'---- ERRORE!! CICLOMOTORE AL MOMENTO E'' IMPEGNATO, SCEGLIERE ALTRO CICLOMOTORE ----');
END;
/


PROBLEMA: IL TRIGGER VIENE COMPILATO SENZA ERRORI, PERO' NON FUNZIONA!
IL CONTROLLO SULLE DATE NON AVVIENE MAI, E L'INSERIMENTO QUINDI C'E' SEMPRE.
L'INSERIMENTO DOVREBBE ESSERE VIETATO SE LA DISPONIBILITA' DEL MEZZO E' POSTERIORE ALLA DATA DI INIZIO DI UNA NUOVA ASSISENZA INSERITA. INVECE IL RISULTATO E' CHE NON VIENE VIETATO PER DISPONIBILITA'.CICLOMOTORE > INIZIO_ASS.ASSISTENZA E NON GENERA NEANCHE L'ERRORE.
SBAGLIO NEL CONFRONTO DELLE DATE? O IN COSA?