次の方法で共有


IDENT_INCR (Transact-SQL)

ID 列を持つテーブルやビューでの ID 列の作成時に指定された増分値を返します。値は、numeric (**@@**MAXPRECISION,0) として返されます。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

IDENT_INCR ( 'table_or_view' )

引数

  • 'table_or_view'
    有効な ID 増分値を確認するためのテーブルまたはビューを表すを指定します。table_or_view には文字列定数、変数、関数、または列名を引用符で区切って指定できます。table_or_view のデータ型は char、nchar、varchar、または nvarchar です。

戻り値の型

numeric

例外

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

SQL Server では、そのユーザーが所有しているか、または権限を与えられている、セキュリティ保護可能なアイテムのメタデータのみを表示できます。つまり、オブジェクトに対する権限がユーザーに与えられていない場合、メタデータを生成する組み込み関数 (IDENT_INCR など) が NULL を返す可能性があります。詳細については、「メタデータ表示の構成」および「メタデータ表示のトラブルシューティング」を参照してください。

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

次の例では、AdventureWorks2008R2 データベース内の Person.Address テーブルの増分値を返します。

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

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

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

USE AdventureWorks2008R2;
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