j'ai mis un declencheur Update pour controler si une colonne est modifiée.
si oui je veux que cette modification s'effectue aussi dans une table dans
l'enregistrement qui a le meme ID.
j'ai mis ça
Create Trigger TRGmodifT on dbo.FactueT
FOR UPDATE
AS
IF UPDATE (Facturé)
UPDATE T2
SET Facturé =1
where T1.id = T2.id
go
ceci me modifi tous les enregistrement de la table T2
je vous signale que les deux table ne sont pas en relation.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Abdoul
C'est bon j'ai trouvé la solution en bas je devais faire where T1.ID=(select id from inserted
"Abdoul" a écrit :
bonjour
j'ai mis un declencheur Update pour controler si une colonne est modifiée. si oui je veux que cette modification s'effectue aussi dans une table dans l'enregistrement qui a le meme ID. j'ai mis ça
Create Trigger TRGmodifT on dbo.FactueT FOR UPDATE AS IF UPDATE (Facturé) UPDATE T2 SET Facturé =1 where T1.id = T2.id go
ceci me modifi tous les enregistrement de la table T2 je vous signale que les deux table ne sont pas en relation.
C'est bon j'ai trouvé la solution
en bas je devais faire
where T1.ID=(select id from inserted
"Abdoul" a écrit :
bonjour
j'ai mis un declencheur Update pour controler si une colonne est modifiée.
si oui je veux que cette modification s'effectue aussi dans une table dans
l'enregistrement qui a le meme ID.
j'ai mis ça
Create Trigger TRGmodifT on dbo.FactueT
FOR UPDATE
AS
IF UPDATE (Facturé)
UPDATE T2
SET Facturé =1
where T1.id = T2.id
go
ceci me modifi tous les enregistrement de la table T2
je vous signale que les deux table ne sont pas en relation.
C'est bon j'ai trouvé la solution en bas je devais faire where T1.ID=(select id from inserted
"Abdoul" a écrit :
bonjour
j'ai mis un declencheur Update pour controler si une colonne est modifiée. si oui je veux que cette modification s'effectue aussi dans une table dans l'enregistrement qui a le meme ID. j'ai mis ça
Create Trigger TRGmodifT on dbo.FactueT FOR UPDATE AS IF UPDATE (Facturé) UPDATE T2 SET Facturé =1 where T1.id = T2.id go
ceci me modifi tous les enregistrement de la table T2 je vous signale que les deux table ne sont pas en relation.
Christophe
tres sincerement cette requete est super mal écrite ! essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux !
Update Fact set TonChamp = inserted.TonChamp From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous les enregistrements concernés par le update qui à declenché le trigger ! evite la sous requete dans ton where car un trigger ca doit etre tres rapide ! j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" a écrit dans le message de news:
C'est bon j'ai trouvé la solution en bas je devais faire where T1.ID=(select id from inserted
"Abdoul" a écrit :
> bonjour > > j'ai mis un declencheur Update pour controler si une colonne est
modifiée.
> si oui je veux que cette modification s'effectue aussi dans une table
dans
> l'enregistrement qui a le meme ID. > j'ai mis ça > > Create Trigger TRGmodifT on dbo.FactueT > FOR UPDATE > AS > IF UPDATE (Facturé) > UPDATE T2 > SET Facturé =1 > where T1.id = T2.id > go > > ceci me modifi tous les enregistrement de la table T2 > je vous signale que les deux table ne sont pas en relation.
tres sincerement cette requete est super mal écrite !
essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux
!
Update Fact set TonChamp = inserted.TonChamp
From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous
les enregistrements concernés par le update qui à declenché le trigger !
evite la sous requete dans ton where car un trigger ca doit etre tres rapide
!
j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" <Abdoul@discussions.microsoft.com> a écrit dans le message de
news:1B791B59-7CC7-48B5-A908-7BAAF2947774@microsoft.com...
C'est bon j'ai trouvé la solution
en bas je devais faire
where T1.ID=(select id from inserted
"Abdoul" a écrit :
> bonjour
>
> j'ai mis un declencheur Update pour controler si une colonne est
modifiée.
> si oui je veux que cette modification s'effectue aussi dans une table
dans
> l'enregistrement qui a le meme ID.
> j'ai mis ça
>
> Create Trigger TRGmodifT on dbo.FactueT
> FOR UPDATE
> AS
> IF UPDATE (Facturé)
> UPDATE T2
> SET Facturé =1
> where T1.id = T2.id
> go
>
> ceci me modifi tous les enregistrement de la table T2
> je vous signale que les deux table ne sont pas en relation.
tres sincerement cette requete est super mal écrite ! essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux !
Update Fact set TonChamp = inserted.TonChamp From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous les enregistrements concernés par le update qui à declenché le trigger ! evite la sous requete dans ton where car un trigger ca doit etre tres rapide ! j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" a écrit dans le message de news:
C'est bon j'ai trouvé la solution en bas je devais faire where T1.ID=(select id from inserted
"Abdoul" a écrit :
> bonjour > > j'ai mis un declencheur Update pour controler si une colonne est
modifiée.
> si oui je veux que cette modification s'effectue aussi dans une table
dans
> l'enregistrement qui a le meme ID. > j'ai mis ça > > Create Trigger TRGmodifT on dbo.FactueT > FOR UPDATE > AS > IF UPDATE (Facturé) > UPDATE T2 > SET Facturé =1 > where T1.id = T2.id > go > > ceci me modifi tous les enregistrement de la table T2 > je vous signale que les deux table ne sont pas en relation.
Abdoul
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation. la deuxième table je l'ai suite à l'execution d'une procedure qui insert des lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire FOR UPDATE AS IF UPDATE (facturé) update dossier_fabrication set facturé=1 'ici peut etre je dois mettre =inserted.facturé' where dossier_fabrication.dos_fabrication=(select Nfacture from inserted) merci
"Christophe" a écrit :
tres sincerement cette requete est super mal écrite ! essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux !
Update Fact set TonChamp = inserted.TonChamp From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous les enregistrements concernés par le update qui à declenché le trigger ! evite la sous requete dans ton where car un trigger ca doit etre tres rapide ! j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" a écrit dans le message de news: > C'est bon j'ai trouvé la solution > en bas je devais faire > where T1.ID=(select id from inserted > > > "Abdoul" a écrit : > > > bonjour > > > > j'ai mis un declencheur Update pour controler si une colonne est modifiée. > > si oui je veux que cette modification s'effectue aussi dans une table dans > > l'enregistrement qui a le meme ID. > > j'ai mis ça > > > > Create Trigger TRGmodifT on dbo.FactueT > > FOR UPDATE > > AS > > IF UPDATE (Facturé) > > UPDATE T2 > > SET Facturé =1 > > where T1.id = T2.id > > go > > > > ceci me modifi tous les enregistrement de la table T2 > > je vous signale que les deux table ne sont pas en relation.
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation.
la deuxième table je l'ai suite à l'execution d'une procedure qui insert des
lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire
FOR UPDATE
AS
IF UPDATE (facturé)
update dossier_fabrication
set facturé=1 'ici peut etre je dois mettre =inserted.facturé'
where dossier_fabrication.dos_fabrication=(select Nfacture from inserted)
merci
"Christophe" a écrit :
tres sincerement cette requete est super mal écrite !
essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux
!
Update Fact set TonChamp = inserted.TonChamp
From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous
les enregistrements concernés par le update qui à declenché le trigger !
evite la sous requete dans ton where car un trigger ca doit etre tres rapide
!
j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" <Abdoul@discussions.microsoft.com> a écrit dans le message de
news:1B791B59-7CC7-48B5-A908-7BAAF2947774@microsoft.com...
> C'est bon j'ai trouvé la solution
> en bas je devais faire
> where T1.ID=(select id from inserted
>
>
> "Abdoul" a écrit :
>
> > bonjour
> >
> > j'ai mis un declencheur Update pour controler si une colonne est
modifiée.
> > si oui je veux que cette modification s'effectue aussi dans une table
dans
> > l'enregistrement qui a le meme ID.
> > j'ai mis ça
> >
> > Create Trigger TRGmodifT on dbo.FactueT
> > FOR UPDATE
> > AS
> > IF UPDATE (Facturé)
> > UPDATE T2
> > SET Facturé =1
> > where T1.id = T2.id
> > go
> >
> > ceci me modifi tous les enregistrement de la table T2
> > je vous signale que les deux table ne sont pas en relation.
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation. la deuxième table je l'ai suite à l'execution d'une procedure qui insert des lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire FOR UPDATE AS IF UPDATE (facturé) update dossier_fabrication set facturé=1 'ici peut etre je dois mettre =inserted.facturé' where dossier_fabrication.dos_fabrication=(select Nfacture from inserted) merci
"Christophe" a écrit :
tres sincerement cette requete est super mal écrite ! essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup mieux !
Update Fact set TonChamp = inserted.TonChamp From Fact inner join inserted on Fact.id = inserted.id
Voila cela va avoir pour principe de mettre à jour ta table Fact avec tous les enregistrements concernés par le update qui à declenché le trigger ! evite la sous requete dans ton where car un trigger ca doit etre tres rapide ! j'espere que le ID est ta clef primaire ?
Ch.
"Abdoul" a écrit dans le message de news: > C'est bon j'ai trouvé la solution > en bas je devais faire > where T1.ID=(select id from inserted > > > "Abdoul" a écrit : > > > bonjour > > > > j'ai mis un declencheur Update pour controler si une colonne est modifiée. > > si oui je veux que cette modification s'effectue aussi dans une table dans > > l'enregistrement qui a le meme ID. > > j'ai mis ça > > > > Create Trigger TRGmodifT on dbo.FactueT > > FOR UPDATE > > AS > > IF UPDATE (Facturé) > > UPDATE T2 > > SET Facturé =1 > > where T1.id = T2.id > > go > > > > ceci me modifi tous les enregistrement de la table T2 > > je vous signale que les deux table ne sont pas en relation.
Christophe
evite de refaire une sous requete dans ton where ! cela ralenti, et un trigger doit aller super vite ! de plus c'est moins propre qu'un relation ! car la table inserted créé par le trigger est exactement la meme que celle qu'il est en train de mettre à jour d'ou la relation sur cle primaire ! Ch.
"Abdoul" a écrit dans le message de news:
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation. la deuxième table je l'ai suite à l'execution d'une procedure qui insert
des
lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire FOR UPDATE AS IF UPDATE (facturé) update dossier_fabrication set facturé=1 'ici peut etre je dois mettre =inserted.facturé' where dossier_fabrication.dos_fabrication=(select Nfacture from inserted) merci
"Christophe" a écrit :
> tres sincerement cette requete est super mal écrite ! > essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup
mieux
> ! > > Update Fact set TonChamp = inserted.TonChamp > From Fact inner join inserted on Fact.id = inserted.id > > Voila cela va avoir pour principe de mettre à jour ta table Fact avec
tous
> les enregistrements concernés par le update qui à declenché le trigger ! > evite la sous requete dans ton where car un trigger ca doit etre tres
rapide
> ! > j'espere que le ID est ta clef primaire ? > > Ch. > > > "Abdoul" a écrit dans le message de > news: > > C'est bon j'ai trouvé la solution > > en bas je devais faire > > where T1.ID=(select id from inserted > > > > > > "Abdoul" a écrit : > > > > > bonjour > > > > > > j'ai mis un declencheur Update pour controler si une colonne est > modifiée. > > > si oui je veux que cette modification s'effectue aussi dans une
table
> dans > > > l'enregistrement qui a le meme ID. > > > j'ai mis ça > > > > > > Create Trigger TRGmodifT on dbo.FactueT > > > FOR UPDATE > > > AS > > > IF UPDATE (Facturé) > > > UPDATE T2 > > > SET Facturé =1 > > > where T1.id = T2.id > > > go > > > > > > ceci me modifi tous les enregistrement de la table T2 > > > je vous signale que les deux table ne sont pas en relation. > > >
evite de refaire une sous requete dans ton where !
cela ralenti, et un trigger doit aller super vite !
de plus c'est moins propre qu'un relation !
car la table inserted créé par le trigger est exactement la meme que celle
qu'il est en train de mettre à jour d'ou la relation sur cle primaire !
Ch.
"Abdoul" <Abdoul@discussions.microsoft.com> a écrit dans le message de
news:4F9D161A-3F64-4EF3-86C0-7FB3F75C2015@microsoft.com...
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation.
la deuxième table je l'ai suite à l'execution d'une procedure qui insert
des
lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire
FOR UPDATE
AS
IF UPDATE (facturé)
update dossier_fabrication
set facturé=1 'ici peut etre je dois mettre =inserted.facturé'
where dossier_fabrication.dos_fabrication=(select Nfacture from inserted)
merci
"Christophe" a écrit :
> tres sincerement cette requete est super mal écrite !
> essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup
mieux
> !
>
> Update Fact set TonChamp = inserted.TonChamp
> From Fact inner join inserted on Fact.id = inserted.id
>
> Voila cela va avoir pour principe de mettre à jour ta table Fact avec
tous
> les enregistrements concernés par le update qui à declenché le trigger !
> evite la sous requete dans ton where car un trigger ca doit etre tres
rapide
> !
> j'espere que le ID est ta clef primaire ?
>
> Ch.
>
>
> "Abdoul" <Abdoul@discussions.microsoft.com> a écrit dans le message de
> news:1B791B59-7CC7-48B5-A908-7BAAF2947774@microsoft.com...
> > C'est bon j'ai trouvé la solution
> > en bas je devais faire
> > where T1.ID=(select id from inserted
> >
> >
> > "Abdoul" a écrit :
> >
> > > bonjour
> > >
> > > j'ai mis un declencheur Update pour controler si une colonne est
> modifiée.
> > > si oui je veux que cette modification s'effectue aussi dans une
table
> dans
> > > l'enregistrement qui a le meme ID.
> > > j'ai mis ça
> > >
> > > Create Trigger TRGmodifT on dbo.FactueT
> > > FOR UPDATE
> > > AS
> > > IF UPDATE (Facturé)
> > > UPDATE T2
> > > SET Facturé =1
> > > where T1.id = T2.id
> > > go
> > >
> > > ceci me modifi tous les enregistrement de la table T2
> > > je vous signale que les deux table ne sont pas en relation.
>
>
>
evite de refaire une sous requete dans ton where ! cela ralenti, et un trigger doit aller super vite ! de plus c'est moins propre qu'un relation ! car la table inserted créé par le trigger est exactement la meme que celle qu'il est en train de mettre à jour d'ou la relation sur cle primaire ! Ch.
"Abdoul" a écrit dans le message de news:
regarde ça et dis moi si c bien. ça marche bien pour moi
pour info. mes deux table ne sont pas en relation. la deuxième table je l'ai suite à l'execution d'une procedure qui insert
des
lignes .
CREATE TRIGGER [TrgModifFacturé] ON dbo.FACTURE_à_Etablire FOR UPDATE AS IF UPDATE (facturé) update dossier_fabrication set facturé=1 'ici peut etre je dois mettre =inserted.facturé' where dossier_fabrication.dos_fabrication=(select Nfacture from inserted) merci
"Christophe" a écrit :
> tres sincerement cette requete est super mal écrite ! > essaye plutot de mettre ca dans ton trigger ca devrait aller beaucoup
mieux
> ! > > Update Fact set TonChamp = inserted.TonChamp > From Fact inner join inserted on Fact.id = inserted.id > > Voila cela va avoir pour principe de mettre à jour ta table Fact avec
tous
> les enregistrements concernés par le update qui à declenché le trigger ! > evite la sous requete dans ton where car un trigger ca doit etre tres
rapide
> ! > j'espere que le ID est ta clef primaire ? > > Ch. > > > "Abdoul" a écrit dans le message de > news: > > C'est bon j'ai trouvé la solution > > en bas je devais faire > > where T1.ID=(select id from inserted > > > > > > "Abdoul" a écrit : > > > > > bonjour > > > > > > j'ai mis un declencheur Update pour controler si une colonne est > modifiée. > > > si oui je veux que cette modification s'effectue aussi dans une
table
> dans > > > l'enregistrement qui a le meme ID. > > > j'ai mis ça > > > > > > Create Trigger TRGmodifT on dbo.FactueT > > > FOR UPDATE > > > AS > > > IF UPDATE (Facturé) > > > UPDATE T2 > > > SET Facturé =1 > > > where T1.id = T2.id > > > go > > > > > > ceci me modifi tous les enregistrement de la table T2 > > > je vous signale que les deux table ne sont pas en relation. > > >