IDENT_INCR(Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

IDENT_INCR系统函数返回创建表或视图身份列时指定的增量值。

Transact-SQL 语法约定

语法

IDENT_INCR ( 'table_or_view' )

参数

table_or_view

一个表达式,指定用于检查有效身份递增值的表或视图。 table_or_view 可以是带有引号的字符串常量。 也可以是变量、函数或列名。 table_or_view 的数据类型为 char、nchar、varchar 或 nvarchar

返回类型

numeric(@@MAXPRECISION,0))

例外

错误时返回 NULL ,或者调用者没有对象视图权限时返回。

在 SQL Server 中,用户只能查看自己拥有或有权查看的安全对象的元数据。 没有用户对象权限的情况下,一个输出元数据的内置函数 IDENT_INCR,如 ,可能会返回 NULL。 有关详细信息,请参阅 Metadata Visibility Configuration

Remarks

IDENT_INCR该函数在Fabric Data Warehouse中不可用于单位列

示例

A. 返回指定表的增量值

以下示例返回了 AdventureWorks2025 数据库中该 Person.Address 表的递增值。

USE AdventureWorks2022;  
GO  
SELECT IDENT_INCR('Person.Address') AS Identity_Increment;  
GO  

B. 返回多个表的增量值

以下示例返回了 AdventureWorks2025 数据库中包含带有递增值的身份列的表格。

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

以下为部分结果集。

TABLE_SCHEMA        TABLE_NAME                IDENT_INCR  
------------        ------------------------  ----------  
Person              Address                            1  
Production          ProductReview                      1  
Production          TransactionHistory                 1  
Person              AddressType                        1  
Production          ProductSubcategory                 1  
Person              vAdditionalContactInfo             1  
dbo                 AWBuildVersion                     1  
Production          BillOfMaterials                    1