souci avec trigger -- before en ms server?
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:
Code:
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 |
j'ai essayer d'ajouter ca mais ca ne fonctionne pas :
Code:
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 |