Я хочу сделать это в коде, а не с ALT + F1.Как определить, является ли столбец столбцом идентификации в MSSQL 2000?
21
A
ответ
53
Вы также можете сделать это следующим образом:
select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
Возвращает 1, если это идентификатор ity, 0, если нет.
15
sp_help tablename
В выходной взгляд на что-то вроде этого:
Identity Seed Increment Not For Replication
----------- ------- ------------ ----------------------
userid 15500 1 0
4
Отрегулируйте положение WHERE
в соответствии с:
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
В расширения на @ ответ Blogbeard в
Если вы любите чистый запрос, а не встроенные функции
select 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'
Смотрите также [Как определить, имеет ли таблица столбец идентификаторов] (http://stackoverflow.com/q/2871701) и [Как вы определяете, какие таблицы SQL имеют код идентичности программным путем] (http://stackoverflow.com/q/87747) –