[SQL SERVER][TSQL] 查詢使用 Identity 欄位名稱

[SQL SERVER][TSQL] 查詢使用 Identity 欄位名稱

今天一個小需求,本以為透過 sys.syscolumns 可以得到欄位名稱,

沒想到原來還要搭配 columnproperty 才能搞定,

自己紀錄一下。

 


select tt.table_name, tt.column_name, tt.ordinal_position, tt.data_type 
from information_schema.columns tt
where columnproperty(object_id(table_name), column_name,'IsIdentity ') = 1 
--and table_schema = 'dbo' 
AND tt.TABLE_NAME='test'
order by tt.table_name 

 

image

 

 

 





SELECT name,xtype 
FROM sys.syscolumns
where  columnproperty(object_id('dbo.test'), name,'IsIdentity ') = 1 

 

image

 

 

 

 

 

 

 

參考

sys.syscolumns (Transact-SQL)

COLUMNS (Transact-SQL)

COLUMNPROPERTY (Transact-SQL)