Boujour à tous
Je suis entrain de creer un trigger qui supprime et met a jour de facon automatique une table appelé Accountbase(base client) en fonction d'une table F_COMPTET situé dans une autre base.
J'ai un problème qui m'empeche toute suppression, cleui ci est dut a plusieurs contraintes de clé étrangére sur une table associé a F_COMPTET qui s'appelle F_DOCENTETE.
Ce que j'aimerais c'est lors d'une suppresion dans F_COMPTET:
*Mettre a null certaines valeurs de la table DOCENTETE lorsque je supprime une ligne dans ma table F_COMPTET afin de regler le problème de clé etrangére
Seulement voila il n y a pas d'instruction BEFORE DELETE comme en t-sql par exemple...
Je ne sais pas si j'a été clair dans mon explication?
Est ce que quelqu'un pourrait m'aider?
voila le code de mon trigger pour l'instant:
j'ai essayer d'ajouter ca mais ca ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 CREATE TRIGGER Modif_Sage_client ON ESSAIGAMIELEC.dbo.F_COMPTET FOR DELETE,UPDATE AS --Pour la supression d'un client IF NOT EXISTS(SELECT * FROM INSERTED) AND EXISTS(SELECT * FROM DELETED) -- On est dans le cas d'une suppression : instruction DELETE BEGIN DELETE FROM AMIELEC_MSCRM.dbo.AccountBase FROM AMIELEC_MSCRM.dbo.AccountBase Acc INNER JOIN DELETED Del --Del pour deleted ON Acc.Name=Del.CT_Num END
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Update ESSAIGAMIELEC.dbo.F_DOCENTETE Set ESSAIGAMIELEC.dbo.F_DOCENTETE.CT_NumPayeur=Null FROM ESSAIGAMIELEC.dbo.F_DOCENTETE DOCE INNER JOIN DELETED Del on DOCE.CT_NumPayeur=Del.CT_NumPayeur
Partager