J'ai un probleme sous MS SQL SERVER avec un Trigger, dans le sens où je crois comprendre l'erreur mais je ne vois pas comment contourner le probleme, je m'explique :
J'ai une table principale ARTICLE_REFERENCES qui renseigné par 6 autres tables (la clé étrangère vers ARTICLE_REFERENCES est reference_id) et Le premier inséré position = 1, le 2eme position = 2, etc..
Je voudrais que lorsque je delete un tuple, toutes les positions des autres tuples dont la position est plus grande que celle que je delete soit décrémentée de un.
Par exemple, avec la liste : 1 , 2 , 3 , 4 , 5 ; Je supprime le 3, sans aucune modification de la liste est 1 , 2 , 4 , 5 ; Le but du trigger est de mettre à jour le 4 , 5 en les modifiant en 3 , 4.
J'espère avoir été clair
Donc voici mon trigger, qui est valide, donc bien entré dans le serveur MS SQL SERVER :
je vous remercie bcp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TRIGGER UpID_reference AFTER DELETE ON ARTICLE_REFERENCES FOR EACH ROW UPDATE ARTICLE_REFERENCES SET reference_id=reference_id where reference_id>OLD.reference_id;
Partager