Bonjour a tous,
J'ai un champs dans une table que souhaite ré-ordonner.
Pour plus de lisibilité, je vais prendre un exemple fictif :
Dès qu'un acheteur (ID_USER) ajoute un article (ID_ARTICLE), et on attribue un numéro d'ordre (NUM_ARTICLE) qui est calculé à partir d'un COUNT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 create table PANIER ( ID_PANIER int not null, ID_USER int not null, ID_ARTICLE int not null, NUM_ARTICLE smallint not null, primary key (ID_PANIER) )
Par exemple :
un acheteur (ID_USER) à sélectionné 3 articles (ID_ARTICLE).
NUM_ARTICLE pour ces trois articles : 0,1,2
Bon l'acheteur se ravise (c'est trop cher), et supprime l'article ID_ARTICLE qui dans son panier est ordonné avec "NUM_ARTICLE"=1.
NUM_ARTICLE pour les deux articles restant : 0,2
Est-il possible de renuméroter la liste des 2 articles (en conservant l'ordre) pour que NUM_ARTICLE pour les deux articles restants : 0,1 ??
Coté applicatif ça pose pas de problème de faire défiler chaque éléments, et de faire un UPDATE dans une boucle for, mais je me demande si en SQL c'est possible ?
Qu'en pensent nos gourous SQL ?
Partager