Dis que j'ai une table appelée trx_request
avec les données suivantes
id | confirmed(TIME) | finished(TIME)
-------------------------------------
1 | 12:05:00 | NULL
2 | 13:11:00 | NULL
et une autre table appelée trx_updates
avec les données suivantes
request(FK) | role(INT) | added(TIME)
------------------------------------------
1 | 1 | 14:02:00
Je voudrais faire une certaine déclenchement qu'après un enregistrement inséré dans trx_updates
, compte le nombre d'enregistrements de la même valeur dans le champ request
(tel que combien de 1 'est là). Et ensuite, un chèque à voir si le compte atteint 4 ('1' apparaît 4 fois). Quand il le fait, il met à jour le trx_requests.finished
jusqu'à maintenant().
Comment faire une déclaration de compte dans les déclencheurs? Ou se déclenchent la voie à suivre?
Merci d'avance.
Ce déclencheur fait le travail:
create trigger trx_updates_atrig
after insert on trx_updates for each row begin
DECLARE updatecount INT;
set updatecount = ( select count(*) from trx_updates where request = new.request );
if updatecount=4
then
update trx_request set finished=NOW() where id = new.request;
end if;
end//