Update pour re-numérotation automatique
Bonjour a tous,
J'ai un champs dans une table que souhaite ré-ordonner.
Pour plus de lisibilité, je vais prendre un exemple fictif :
Code:
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)
) |
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.
Par exemple :
:arrow: 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
:question: 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 ?