IDENTITY et SQL Server

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 - 9 mars 2007 à 21:16
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 10 mars 2007 à 15:59
Bonjour,
j'aurais voulu savoir si c'est possible de definir une colonne de table auto incrementée (avec identity) sous sql server grace a une instruction alter

en effet je sais tres bien le faire pendant la creation de la table mais j'aurais besoin de pourvoir le faire avec alter

dans une table cela donne
CREATE

TABLE [Suppliers]
(

[SupplierID]

int
NOT
NULL
IDENTITY
(1
,1
),

...
}

avec alter table ??? comment
merci
++

2 réponses

romagny13 Messages postés 687 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 27 août 2014 3
9 mars 2007 à 22:07
ouaip bon jai compris
en fait c'est soit on definit a la creation de la table le champ comme auto increment soit on le definit jamais en tant que tel car une fois que la table contient des données on ne peut plus modifier ce champ en auto incrment

bon il existe une instruction qui peut m'aider quand meme
SET

IDENTITY_INSERT [Products]
ON

et cette instruction n'est valide que pour sql server pas access

mais cela m'arrange pas tout ca ..
qui a dit que les bases de données relationnelles etaient simples lol
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
10 mars 2007 à 15:59
Salut,

Les outils de gestion permettent de le faire, donc si tu veux voir le TSQL utilisé, utilise l'outil pour faire l'ajout d'IDENTITY sur la colonne sans sauvegarder la modif et demande la génération du script de modification (sur SQL Server Management Studio, clic droit dans le "designer" de table).
Normalement il crée une nouvelle table, effectue la copie des données existantes, drop l'ancienne table et renomme la nouvelle avec l'ancien nom.

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous