SQL表函数或手段来判断是否已使用标识列?

时间:2010-08-26 17:18:46

标签: sql identity-column

我很好奇是否有办法告诉如果表中没有数据,IDENTITY列是否曾增加过。 (即插入数据项,然后删除)

1 个答案:

答案 0 :(得分:1)

对于SQL Server,您可以使用this approach

SELECT IDENT_SEED(TABLE_NAME) AS Seed,
    IDENT_INCR(TABLE_NAME) AS Increment,
    IDENT_CURRENT(TABLE_NAME) AS Current_Identity,
    TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE OBJECTPROPERTY(OBJECT_ID(TABLE_NAME), 'TableHasIdentity') = 1
    AND TABLE_TYPE = 'BASE TABLE'

请注意,您可以在SQL Server中重置种子值,因此上面的apporach只会告诉您种子的当前状态,而不是表中是否有任何数据。