Идентификация столбца идентичности? - PullRequest
0 голосов
/ 10 июля 2009

Я обнаружил, что, как определить, какие столбцы являются столбцами первичного ключа данной таблицы с помощью этого запроса:

 SELECT CONSTRAINT_NAME, COLUMN_NAME
 FROM
 INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
 WHERE TABLE_NAME='tablename_here' AND
 CONSTRAINT_NAME LIKE 'PK_%'

С помощью этого запроса я могу выяснить, что такое семя и инкремент идентификации:

SELECT IDENT_SEED('tablename_here'), IDENT_INCR('tablename_here')

Я не могу использовать информацию об ограничениях, потому что ограничение первичного ключа может быть в нескольких столбцах. И я не могу найти какую-либо функцию Transact SQL, чтобы дать мне информацию о личности.

Может ли кто-нибудь помочь мне понять, как найти информацию, удостоверяющую личность?

Я использую SQL Server 2000.

Ответы [ 3 ]

9 голосов
/ 10 июля 2009

Чтобы найти столбец IDENTITY в данной таблице, вы можете использовать это:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='tablename_here' 
AND COLUMNPROPERTY(OBJECT_ID('tablename_here'),COLUMN_NAME,'IsIdentity') = 1
1 голос
/ 10 июля 2009
SELECT sys.tables.name, sys.columns.name
FROM sys.tables
INNER JOIN sys.columns
ON sys.tables.object_id = sys.columns.object_id
WHERE is_identity = 1
AND sys.tables.name = 'MyTable'
1 голос
/ 10 июля 2009

Вы можете использовать функцию COLUMNPROPERTY , чтобы проверить, использует ли столбец свойство идентификации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...