ho ottenuto un risultato, sono riuscito a creare un trigger funzionante :
codice:
-- Trigger DDL Statements
USE DatabaseSQL;
DELIMITER //
CREATE TRIGGER tabprovaINcheck
BEFORE INSERT ON tabprova
FOR EACH ROW BEGIN
IF
NEW.voto > 30 THEN
SET NEW.voto = null;
END IF;
IF
NEW.voto > 18 AND NEW.stato = 'bocciato' THEN
SET NEW.voto = null;
END IF;
END;
//
in questo modo se inserisco un voto maggiore di 30 viene predisposto un null, ma siccome il null non viene accettato come valore nella colonna l'inserimento viene annullato, stessa cosa se il voto è maggiore di 18 e viene inserito lo stato 'bocciato', ma è solo un trucco subdolo, ci sarà un comando da mettere dopo il 'THEN' che impedisca l'inserimento senza vincolare gli attributi con un not null...
vorrei che la command line specificasse che i dati inseriti sono scorretti, non che non è possibile inserire un valore null nell'attributo X (valore che viene messo dal trigger)