ciao a tutti, premetto che in fatto di trigger non sono un asso
comunque, devo fare un trigger su di una tabella che prima di essere modificata il trigger cancella le tuple checorrispondono a determinati parametri.
mi spiego meglio
ho una tabella prenotazioni dove c'è un campo confermata (= 0) ed uno con la data in formato anno mesi giorni ore minuti secondi.
prima di modificare la tabella il trigger deve verificare se ci sono tuple con valore del campo confermata = 0 e se la data ATTUALE è > di 30 secondi della data di inserimento.
ecco il mio trigger
codice:
delimiter //
CREATE TRIGGER prenotazione_non_confermate
BEFORE UPDATE ON prenotazioni
FOR EACH ROW
BEGIN
IF ( TIME_TO_SEC(CURTIME()) - TIME_TO_SEC(OLD.data_prenotazione) ) > 30 AND OLD.confermata = 0 THEN DELETE FROM prenotazioni WHERE id_prenotazione = OLD.id_prenotazione;
END IF;
END; //
delimiter ;
questo codice mi fa modificare la tupla su cui voglio lavorare SE sono all'intreno dei 30 secondi, mentre se i 30 secondi sono passati la tupla non si modifica, e SOPRATTUTTO non cancella le altre!!
potete dirmi dove sbaglio??
GRAZIE MILLE!!!