2009-07-10 2 views
0

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

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.

ответ

9

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

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='tablename_here' 
AND COLUMNPROPERTY(OBJECT_ID('tablename_here'),COLUMN_NAME,'IsIdentity') = 1 
1

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

1
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

Аллан с использованием SQL Server 2000 так не работал – AdaTheDev

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

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