IDENT_SEED (Transact-SQL)

返回原始种子值(返回形式为 numeric(**@@**MAXPRECISION,0)),该值是在表或视图中创建标识列时指定的。 使用 DBCC CHECKIDENT 更改标识列的当前值不会更改此函数返回的值。

主题链接图标 Transact-SQL 语法约定

语法

IDENT_SEED ( 'table_or_view' )

参数

  • ' table_or_view '
    指定表或视图以检查标识种子值的表达式。 table_or_view 可以是带有引号的字符串常量,也可以是变量、函数或列名。 table_or_view 的数据类型为 char、nchar、varchar 或 nvarchar。

返回类型

numeric

异常

出现错误时或调用方没有查看对象的权限时,将返回 NULL。

在 SQL Server 中,用户只能查看其拥有的安全对象的元数据,或者已对其授予权限的安全对象的元数据。 也就是说,如果用户对该对象没有任何权限,则某些会产生元数据的内置函数(如 IDENT_SEED)可能返回 NULL。 有关详细信息,请参阅元数据可见性配置

示例

A.从指定表返回种子值

以下示例返回 AdventureWorks 数据库中 Person.Address 表的种子值。

USE AdventureWorks2012;
GO
SELECT IDENT_SEED('Person.Address') AS Identity_Seed;
GO
USE AdventureWorks2012;
GO
SELECT IDENT_SEED('Person.Address') AS Identity_Seed;
GO

B.从多个表返回种子值

下面的示例返回 AdventureWorks 数据库中包含带有种子值的标识列的表。

USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME, 
   IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
GO
USE AdventureWorks2012;
GO
SELECT TABLE_SCHEMA, TABLE_NAME, 
   IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
GO

以下为部分结果集。

TABLE_SCHEMA       TABLE_NAME                   IDENT_SEED

------------       ---------------------------  -----------

Person             Address                                1

Production         ProductReview                          1

Production         TransactionHistory                100000

Person             AddressType                            1

Production         ProductSubcategory                     1

Person             vAdditionalContactInfo                 1

dbo                AWBuildVersion                         1

请参阅

参考

表达式(Transact-SQL)

系统函数 (Transact-SQL)

IDENT_CURRENT (Transact-SQL)

IDENT_INCR (Transact-SQL)

DBCC CHECKIDENT (Transact-SQL)

sys.identity_columns (Transact-SQL)