DEFI SQL
Le
Etienne REMOND

Bonjour
j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.
situation:
j'ai une table [T] avec deux champs:
- id (numérique entier long)
- val (texte)
il n'y a pas d'index, pas de clef.
les champs [val] sont renseignés, mais pas les champ [id] (ils sont à null).
je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x,
par incrément de 1 (en gros, faire du numauto, mais après coup).
quelqu'un connaît-il la requête sql répondant à ce défi ?
merci d'avance.
Etienne
j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.
situation:
j'ai une table [T] avec deux champs:
- id (numérique entier long)
- val (texte)
il n'y a pas d'index, pas de clef.
les champs [val] sont renseignés, mais pas les champ [id] (ils sont à null).
je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x,
par incrément de 1 (en gros, faire du numauto, mais après coup).
quelqu'un connaît-il la requête sql répondant à ce défi ?
merci d'avance.
Etienne
- initialiser tous les id à 0
- créer une table [tmp] d'un seul champ [id]
- y insérer une seule ligne avec [tmp].[id] = 0
- exécuter la requête:
UPDATE id, tmp
SET id.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
, tmp.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
- et voilà
je suis curieux d'entendre vos autres solutions
Etienne
Etienne REMOND wrote:
tu te casses bien la tête.
solution:
-supprimer le champ autonum
-recréer le champ autonum
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Etienne REMOND" %
--
--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
Pour un contact direct, utiliser:
en enlevant nospam.
"Raymond [mvp]" | Bonjour.
|
| tu te casses bien la tête.
| solution:
| -supprimer le champ autonum
| -recréer le champ autonum
|
| --
| @+
| Raymond Access MVP
| http://access.seneque.free.fr/
| http://access.vba.free.fr/
| http://access2003.free.fr/
| http://users.skynet.be/mpfa/ pour débuter sur le forum
|
|
| "Etienne REMOND" | %
| >
| > j'ai trouvé.
| >
| > - initialiser tous les id à 0
| > - créer une table [tmp] d'un seul champ [id]
| > - y insérer une seule ligne avec [tmp].[id] = 0
| > - exécuter la requête:
| > UPDATE id, tmp
| > SET id.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
| > , tmp.id = IIF ( id.id > tmp.id , id.id+1 , tmp.id + 1 )
| > - et voilà
| >
| > je suis curieux d'entendre vos autres solutions
| >
| >
| >
| >
| >
| > Etienne
| >
| >
| > Etienne REMOND wrote:
| >
| >> Bonjour
| >>
| >> j'ai un défi sql à vous proposer. je n'ai pas encore trouvé la solution.
| >>
| >> situation:
| >> j'ai une table [T] avec deux champs:
| >> - id (numérique entier long)
| >> - val (texte)
| >> il n'y a pas d'index, pas de clef.
| >>
| >> les champs [val] sont renseignés, mais pas les champ [id] (ils sont à
| >> null).
| >> je souhaite, par une requête sql, numéroter ces champs [id] de 1 à x, par
| >> incrément de 1 (en gros, faire du numauto, mais après coup).
| >>
| >> quelqu'un connaît-il la requête sql répondant à ce défi ?
| >>
| >> merci d'avance.
| >>
| >>
| >> Etienne
|
|