Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

sql server 2000 - Colonne identity

1 réponse
Avatar
Blodine
Je souhaite créer une table à partir d'une autre table qui contient une
colonne avec identity. La notion de identity ne m'intéresse pas dans la
table créée en sortie. Cependant je ne peux pas lister les colonnes car le
code est commun à plusieurs traitements, il est donc paramétré avec les noms
de tables qui ne possèdent pas les mêmes colonnes.


select * into table 2 from table1 where ...



j'ai le message d'erreur N° 8101 une valeur explicite à la colonne identité
de la table ne peut être spécifié que si on fait appel à la liste des
colonnes ...

A votre avis, existe-il une astuce pour contourner le problème.

Merci par avance

1 réponse

Avatar
OokieDookie
Bonjour,

Si la liste des colonnes n'est pas spécifiée il n'est pas possible d'ignorer
la colonne identity. Et il n'est pas possible d'alimenter "manuellement" la
valeur d'une telle colonne, à moins d'utiliser l'option SET IDENTITY_INSERT
NomTable ON / OFF en début et fin de traitement.

Même si la notion n'est pas "intéressante" dans la table de sortie, il faut
tout de même la reprendre, quitte à l'ignorer par la suite. Par ailleurs, il
semble que la table de sortie ait été créée à partir d'un script généré (ce
qui reprend donc la notion identity). Vous devriez essayer de modifier la
structure de la table de sortie pour désactiver cette notion.

HTH,

"Blodine" a écrit :

Je souhaite créer une table à partir d'une autre table qui contient une
colonne avec identity. La notion de identity ne m'intéresse pas dans la
table créée en sortie. Cependant je ne peux pas lister les colonnes car le
code est commun à plusieurs traitements, il est donc paramétré avec les noms
de tables qui ne possèdent pas les mêmes colonnes.


select * into table 2 from table1 where ...



j'ai le message d'erreur N° 8101 une valeur explicite à la colonne identité
de la table ne peut être spécifié que si on fait appel à la liste des
colonnes ...

A votre avis, existe-il une astuce pour contourner le problème.

Merci par avance