Подтвердить что ты не робот

Как определить, является ли столбец столбцом идентификации в MSSQL 2000?

Я хочу сделать это в коде, а не с ALT + F1.

4b9b3361

Ответ 1

Вы также можете сделать это следующим образом:

select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')

Возвращает 1, если это тождество, 0, если нет.

Ответ 2

sp_help tablename 

В выходном файле найдите что-то вроде этого:

 Identity     Seed     Increment     Not For Replication    
 -----------  -------  ------------  ---------------------- 
 userid       15500    1             0        

Ответ 3

Отрегулируйте предложение 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

Ответ 4

Как расширение на @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'