【发布时间】:2011-04-07 09:31:04
【问题描述】:
通常使用 SQL Server,您可以使用像这样的 COLUMNPROPERTY 函数来查找数据库中的标识列:
select TABLE_NAME + '.' + COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo'
and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
但是当从另一个数据库运行查询时,我不知道如何让它工作。例如。这不会返回任何结果:
Use FirstDatabase
Go
select TABLE_NAME + '.' + COLUMN_NAME, TABLE_NAME
from SecondDatabase.INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA = 'dbo'
and COLUMNPROPERTY(object_id(TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
【问题讨论】:
标签: sql-server identity sql-server-2008-r2 information-schema