Trigger en SQL server

Kurul1 Messages postés 28 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 15 janvier 2016 - 11 juil. 2003 à 15:03
Kurul1 Messages postés 28 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 15 janvier 2016 - 17 juil. 2003 à 11:01
Bonjour à tous

J'ai un petit souci avec les triggers.
J'ai une table zone avec un identifiant id_zone et un libelle libelle_zone.
Jusque là, pas de pb
Je voudrais créer un trigger qui lorsque l'on supprime une ligne dans la table zone, les identifiants soit mis à jour pour combler le trou.

voici ce ke jè écris

create trigger majzone
on zone
after delete
as
update zone set id_zone = id_zone -1 where zone.id_zone > deleted.id_zone;

lorsque je le cré, voici l'erreur que j'ai

Serveur : Msg 107, Niveau 16, État 2, Procédure majzone, Ligne 5
Le préfixe de colonne 'deleted' ne correspond ni au nom de table ni au nom d'alias utilisés dans la requête.

Est ce ke qqun voit ce qui ne vas pas

Merci

2 réponses

Tylvalen Messages postés 16 Date d'inscription mercredi 4 décembre 2002 Statut Membre Dernière intervention 16 juillet 2003
16 juil. 2003 à 11:06
create trigger majzone
on zone
after delete
as
update zone set id_zone = id_zone -1
from zone, deleted
where zone.id_zone > deleted.id_zone

Logiquement ca devrait passer.
Par contre fais des tests parce que ce genre de trigger ne marche que si tu fais 1 seul delete et pas une suppression de masse....

Tylvalen
fab244@yahoo.fr
fab244@caramail.com
tylvalenàhotserver.ch
0
Kurul1 Messages postés 28 Date d'inscription mardi 29 avril 2003 Statut Membre Dernière intervention 15 janvier 2016
17 juil. 2003 à 11:01
Ca marche, je te remerci Tylvalen,
0
Rejoignez-nous