salve ragazzi ho un urgente bisogno di una mano non so come fare a risolvere questo problema, spero che qualcuno di voi riesca ad aiutarmi, dovrei consegnare un progetto di basi di dati e non so dove sbattere la testa.. in sostanza ho una table fatta in questo modo
CREATE TABLE video
(
id_video INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
n_visualizzazioni INT DEFAULT 0,
dim_video FLOAT(2) DEFAULT 0,
data_post DATE ,
titolo VARCHAR (200) DEFAULT NULL,
durata INT DEFAULT 0,

rif_utente VARCHAR(20) REFERENCES UTENTE_REGISTRATO (username)
on update cascade
on delete no action,

rif_canale INT REFERENCES CANALE (id_canale)
on update cascade
on delete no action
);
devo creare un trigger che mi consenta di verificare che il numero di video postati in un anno da un utente non superi il valore 3 per esempio.. in questo caso se il valore e' superiore non si vedono inserire nuove tuple.
il mio ragionamento e' stato questo ... ma n credo vada bene infatti con l inserimento di nuove tuple non ho alcun messaggio di errore fa inserire senza problemi anche superando il numero limite stabilito. ( lavoro tramite guy navicat ) ho inserito "prova" perche mi e' stato suggerito non so se e' corrett o meno mi aiutate? vi prego!!!!

DELIMITER @

create trigger verificaNumeroVid
before insert ON VIDEO
for each row

begin
DECLARE PROVA INT;
IF(SELECT COUNT(*)
from video
where rif_utente=NEW.rif_utente and data_post>= curdate()-interval 1 year)>3
then set PROVA=null;
end if;
end;
@DELIMITER ;
chi sa dirmi esplicitamente qual' e' l errore e qual e' il ragionamento esatto! grazie in anticipo a tutti