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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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.
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.