Tôi muốn làm điều này trong mã, không phải với ALT + F1.Làm cách nào để xác định xem cột có phải là cột nhận dạng trong MSSQL 2000 không?
21
A
Trả lời
53
Bạn cũng có thể làm theo cách này:
select columnproperty(object_id('mytable'),'mycolumn','IsIdentity')
Trả về 1 nếu đó là số nhận dạng ity, 0 nếu không.
15
sp_help tablename
Trong giao diện đầu ra cho một cái gì đó như thế này:
Identity Seed Increment Not For Replication
----------- ------- ------------ ----------------------
userid 15500 1 0
4
Điều chỉnh khoản WHERE
cho phù hợp:
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
Như mở rộng trên @ Blogbeard của câu trả lời
Nếu bạn thích truy vấn tinh khiết và không chức năng sẵn có
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'
Xem thêm [Làm thế nào để xác định xem bảng có cột sắc] (http://stackoverflow.com/q/2871701) và [Làm thế nào để bạn xác định những gì các bảng SQL có một cột nhận dạng theo chương trình] (http://stackoverflow.com/q/87747) –