Voilà mon problème : J'ai le trigger suivant (qui ne fait pas ce que je veux)
Le but de ce trigger était de supprimer toutes les associations avec un titre lors de sa suppression (aucun problème sur cette partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 CREATE TRIGGER Titre_Delete ON Titres AFTER DELETE AS BEGIN DECLARE @ordremin INT; DECLARE @ordremax INT; DELETE FROM Titre_Profil WHERE idtitre IN (select idtitre from deleted); DELETE FROM Titre_Frequence WHERE idtitre IN (select idtitre from deleted); SELECT @ordremin=ordre+1 FROM deleted; SELECT @ordremax=max(ordre) FROM Titres; WHILE @ordremin>=@ordremax BEGIN UPDATE Titres SET ordre=ordre-1 WHERE ordre=@ordremin; SET @ordremin=@ordremin+1; END END)
Mais aussi de faire remonter tous les numéros d'ordre jusqu'à celui supprimé (et là ça beugue ^^) (Code en bleu)
genre j'ai la table:
ID:ordre
1:1
2:2
3:3
10:4
12:5
Et je veux supprimer le titre 2, je devrais avoir
ID:ordre
1:1
3:2
10:3
12:4
Et je me retrouve avec
ID:ordre
1:1
3:3
10:4
12:5
La loose :-/
Si quelqu'un pouvait donc m'aider...
Partager