IDENT_INCR (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

テーブルまたはビューの ID 列を作成するときに指定された増分値を返します。

Transact-SQL 構文表記規則

構文

IDENT_INCR ( 'table_or_view' )  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

引数

'table_or_view'
有効な ID 増分値を確認するためのテーブルまたはビューを表すを指定します。 table_or_view には、引用符で囲まれた文字列定数を指定できます。 変数、関数、または列名を指定することもできます。 table_or_viewcharncharvarchar、または nvarcharです。

戻り値の型

numeric(@@MAXPRECISION,0))

例外

エラーが発生した場合、または呼び出し元にオブジェクトの表示アクセス許可がない場合は、NULL が返されます。

SQL Server では、ユーザーは、自身が所有している、またはアクセス許可を持っているセキュリティ保護可能なリソースのメタデータのみを表示できます。 ユーザー オブジェクトのアクセス許可がないと、IDENT_INCR などのメタデータを発行する組み込み関数から NULL が返されることがあります。 詳細については、「 Metadata Visibility Configuration」を参照してください。

A. 指定したテーブルの増分値を返す

次の例では、AdventureWorks2022 データベースの Person.Address テーブルの増分値が返されます。

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

B. 複数のテーブルの増分値を返す

次の例では、増分値を持つ ID 列を含む、AdventureWorks2022 データベースのテーブルが返されます。

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

参照

式 (Transact-SQL)
システム関数 (Transact-SQL)
IDENT_CURRENT (Transact-SQL)
IDENT_SEED (Transact-SQL)
DBCC CHECKIDENT (Transact-SQL)
sys.identity_columns (Transact-SQL)