IDENT_SEED (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

返回在表或视图中创建标识列时指定的原始种子值。 使用 DBCC CHECKIDENT 更改标识列的当前值不会更改此函数返回的值。

Transact-SQL 语法约定

语法

IDENT_SEED ( 'table_or_view' )  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

自变量

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

返回类型

numeric(@@MAXPRECISION,0))

例外

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

在 SQL Server 中,用户只能查看用户拥有或被授予权限的安全对象的元数据。 这种安全性意味着,如果用户对该对象没有任何权限,则某些会产生元数据的内置函数(如 IDENT_SEED)可能返回 NULL。 有关详细信息,请参阅 Metadata Visibility Configuration

示例

A. 从指定表返回种子值

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

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

B. 从多个表返回种子值

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

USE AdventureWorks2022;  
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)