Je veux le faire en code, pas avec ALT + F1.Comment déterminer si une colonne est une colonne d'identité dans MSSQL 2000?
21
A
Répondre
53
Vous pouvez aussi le faire de cette façon:
select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
Renvoie 1 si c'est un ident ité, 0 sinon.
15
sp_help tablename
Dans le regard de sortie pour quelque chose comme ceci:
Identity Seed Increment Not For Replication
----------- ------- ------------ ----------------------
userid 15500 1 0
4
Adjust la clause WHERE
en fonction:
select
a.name as TableName,
b.name as IdentityColumn
from
sysobjects a inner join syscolumns b on a.id = b.id
where
columnproperty(a.id, b.name, 'isIdentity') = 1
and objectproperty(a.id, 'isTable') = 1
0
Comme l'expansion sur @ la réponse de Blogbeard
Si vous aimez la requête pure et pas de fonctions
encastrablesselect col_name(sys.all_objects.object_id, column_id) as id from sys.identity_columns
join sys.all_objects on sys.identity_columns.object_id = sys.all_objects.object_id
where sys.all_objects.name = 'system_files'
Voir aussi [Comment déterminer si la table a colonne d'identité] (http://stackoverflow.com/q/2871701) et [Comment déterminer quelles tables SQL ont une colonne d'identité par programmation] (http://stackoverflow.com/q/87747) –