如何在sql server compact中获取特定表的当前标识号

Ham*_*mid 15 sql sql-server-ce

我想获取特定表的当前标识值,如sql server中的IDENT_CURRENT('table')

小智 20

如果要获取特定表的最后一个标识插入值,请使用以下语句:

select IDENT_CURRENT('tablename')
Run Code Online (Sandbox Code Playgroud)

例如:

select IDENT_CURRENT('Employee')
Run Code Online (Sandbox Code Playgroud)


Md.*_*lam 7

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'
Run Code Online (Sandbox Code Playgroud)


Bik*_*ram 5

要检查身份:

    DBCC CHECKIDENT ('[schema].[YourTableName]', NORESEED);
Run Code Online (Sandbox Code Playgroud)

要重新设定身份:

    DBCC CHECKIDENT ('[schema].[YourTableName]', RESEED, value);
Run Code Online (Sandbox Code Playgroud)


Ale*_*lex 3

SELECT AUTOINC_SEED 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='TableName' 
AND COLUMN_NAME='ColumnName'
Run Code Online (Sandbox Code Playgroud)

如果您要寻找的是身份列的种子值是什么(即身份列的第一个值是什么或将是什么),那么哈米德的答案就很好,但是如果您正在寻找下一个值是什么插入行的数据将是,这是您要使用的查询:

SELECT AUTOINC_NEXT 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME='TableName' 
AND COLUMN_NAME='ColumnName'
Run Code Online (Sandbox Code Playgroud)