mySql : trigger sur une vue qui référence plusieurs tables
Bonjour,
Une question sur les fonctionnalités de Mysql 5.5.16 avec PhpMyAdmin version 3.4.9 : Peut-on réaliser un trigger "instead of insert or delete or update" pour mettre à jour les tables référencées dans une vue :
exemple :
code de la vue :
Code:
create or replace view w_exempleVue as select t1.champ1, t1.champ2, t2.champ3, t2.champ4 from t1, T2 where t1.cle = t2.cle;
code du trigger:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| create trigger tr_exemple instead of insert or update or delete on w_exempleVue
for each row
begin
if inserting then
insert into t1 (w_exempleVue.champ1,w_exempleVue.champ2) where t1.cle = w_exempleVue.cle;
insert into t2 (w_exempleVue.champ3,w_exempleVue.champ4) where t2.cle = w_exempleVue.cle;
else if updating
update t1 set t1.champ1 =w_exempleVue.champ1, t1.champ2 = w_exempleVue.champ2 where t1.cle = w_exempleVue.cle;
update t2 set t2.champ3 =w_exempleVue.champ3, t2.champ4 = w_exempleVue.champ4 where t2.cle = w_exempleVue.cle;
else if deleting
delete from t1 where t1.cle = w_exempleVue.cle;
delete from t2 where t1.cle = w_exempleVue.cle;
end if;
end; |
Ce code est à titre d'exemple, désolé pour les incohérences s'il y en avait, mais il sert juste à illustrer la fonctionnalités que je cherche à implanter dans phpMyAdmin avec mySql lorsque on souhaite qu'une vue mette à jour plusieurs tables qu'elle référence.
Merci d'avance pour vos réponses.