我有一個SQL Server數據庫,其中有一個具有標識規範的列。使用SQL查找標識規範
但是,如果我做一個SQL查詢,如:
SELECT * FROM INFORMATION_SCHEMA.Columns where TABLE_NAME =
它不會告訴我,如果列是標識規範 - 有一個查詢,會嗎?
我有一個SQL Server數據庫,其中有一個具有標識規範的列。使用SQL查找標識規範
但是,如果我做一個SQL查詢,如:
SELECT * FROM INFORMATION_SCHEMA.Columns where TABLE_NAME =
它不會告訴我,如果列是標識規範 - 有一個查詢,會嗎?
使用SYS.COLUMNS系統目錄視圖:
select o.name, c.name, c.is_identity
from sys.objects o
inner join sys.columns c on o.object_id = c.object_id
where o.type='U'
--and o.name='MyTable'
and c.is_identity = 1
不可能位於ANSI定義的INFORMATION_SCHEMA視圖中,因爲identity
是SQL Server特有的功能。您可以使用SQL Server特定的表或視圖(取決於您的SQL Server版本),如syscolumns
/sys.columns
。
當然,但是當表名不包含在sys.columns中時,如何查詢特定表的sys.columns? 非常感謝, Joel – 2010-06-08 09:37:19
select * from sys.identity_columns
這個問題可能是,什麼投入你的where子句http://stackoverflow.com/questions/87747/how-有幫助do-you-determine-what-sql-tables-have-an-identity-column-programatically – krock 2010-06-08 09:37:04