si l'avevo trovato ieri sera, ma lo script serve per approssimare i dati inseriti

codice:
IF NEW.prezzo < 0 THEN
SET NEW.prezzo = 0;
END IF;
in pratica corregge l'inserimento, come se mettesse un "valore di default", vorrei invece che l'operazione di inserimento/aggiornamento venisse rifiutata se la condizione non si verifica, come faccio a metterlo in pratica?


diciamo che nel mio caso servirebbe una cosa del genere :

codice:
DELIMITER //

CREATE TRIGGER tabprovaINcheck
BEFORE INSERT ON tabprova
FOR EACH ROW
BEGIN

NEW.voto>0 AND NEW.voto<30

IF NEW.voto>18 AND NEW.stato='bocciato' THEN

rifiutare l'operazione

END IF;


IF NEW.voto<18 AND NEW.stato='promosso' THEN

rifiutare l'operazione

END IF;

END; //






CREATE TRIGGER tabprovaUPcheck
BEFORE UPDATE ON tabprova
FOR EACH ROW
BEGIN

NEW.voto>0 AND NEW.voto<30

IF NEW.voto>18 AND NEW.stato='bocciato' THEN

rifiutare l'operazione

END IF;


IF NEW.voto<18 AND NEW.stato='promosso' THEN

rifiutare l'operazione

END IF;

END; //

DELIMITER;

il problema è proprio che non sò come comporlo sintatticamente, come si scrive "correttamente" questo trigger per far rifiutare l'operazione se non si verifica la condizione? mi basta avere solo questo esempio, i trigger che dovrò inserire sono tutti così...