97 t-sql sql-server metadata identity-column
我想在SQL Server 2005中创建一个列列表,其中包含标识列及其在T-SQL中的相应表.
结果将是这样的:
TableName,ColumnName
小智 167
对SQL Server执行此操作的另一种可能方法是使用INFORMATION_SCHEMA视图,该方法对系统表(可能发生更改,版本更换)的依赖性较小:
select COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
Run Code Online (Sandbox Code Playgroud)
Kev*_*ley 48
sys.columns.is_identity = 1
例如,
select o.name, c.name
from sys.objects o inner join sys.columns c on o.object_id = c.object_id
where c.is_identity = 1
Run Code Online (Sandbox Code Playgroud)
小智 27
另一种方式(2000/2005/2012/2014):
IF ((SELECT OBJECTPROPERTY( OBJECT_ID(N'table_name_here'), 'TableHasIdentity')) = 1)
PRINT 'Yes'
ELSE
PRINT 'No'
Run Code Online (Sandbox Code Playgroud)
注意:table_name_here应该是schema.table,除非架构是dbo.
在SQL 2005中:
select object_name(object_id), name
from sys.columns
where is_identity = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
116894 次 |
| 最近记录: |