2008-10-09 3 views
21

Я хочу сделать это в коде, а не с ALT + F1.Как определить, является ли столбец столбцом идентификации в MSSQL 2000?

+0

Смотрите также [Как определить, имеет ли таблица столбец идентификаторов] (http://stackoverflow.com/q/2871701) и [Как вы определяете, какие таблицы SQL имеют код идентичности программным путем] (http://stackoverflow.com/q/87747) –

ответ

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' 

 Смежные вопросы

  • Нет связанных вопросов^_^