Ragazzi sto impazzendo xD devo fare un trigger per non far inserire un'altra ispezione nella tabella ispettori. Me lo crea il trigger per quando vado ad inserire la riga. Mi riporta l'errore che sta in foto.
L'insert è questo:codice:CREATE OR REPLACE TRIGGER T6BEFORE INSERT ON ISPETTORI FOR EACH ROW DECLARE SETT CHAR; ANNO CHAR; CONTROLLO_EFFETTUATO EXCEPTION; BEGIN SELECT TO_CHAR(TO_DATE(:NEW.DATA_ISPEZIONE,'MM/DD/YYYY'),'YEAR') into ANNO FROM ISPETTORI; SELECT TO_CHAR(TO_DATE(:NEW.DATA_ISPEZIONE,'MM/DD/YYYY'),'WW') INTO SETT FROM ISPETTORI; IF ((ANNO=TO_CHAR(TO_DATE(:NEW.DATA_ISPEZIONE,'MM/DD/YYYY'),'YEAR')) AND (SETT=TO_CHAR(TO_DATE(:NEW.DATA_ISPEZIONE,'MM/DD/YYYY'),'WW'))) THEN RAISE CONTROLLO_EFFETTUATO; END IF; EXCEPTION WHEN CONTROLLO_EFFETTUATO THEN RAISE_APPLICATION_ERROR(-20010,'Controllo gia effettuato'); END;
Tablecodice:INSERT INTO ISPETTORI(COD_F,DATA_ISPEZIONE,NOME_ISP,COGNOME_ISP,SETTORE) VALUES('0000000000000001',TO_DATE('10/07/2015','DD/MM/YYYY'),'MANUELA','BOH','SETTORE M')
codice:CREATE TABLE ISPETTORI( COD_F CHAR(16) PRIMARY KEY, DATA_ISPEZIONE DATE, NOME_ISP VARCHAR(20), COGNOME_ISP VARCHAR(20), SETTORE VARCHAR(20));
errore sql.jpg


Rispondi quotando