IDENT_SEED (Transact-SQL)

テーブルやビューでの ID 列の作成時に指定された元のシード値を返します。値は numeric(**@@**MAXPRECISION,0) として返されます。DBCC CHECKIDENT を使用して ID 列の現在の値を変更しても、この関数で返される値は変更されません。

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

構文

IDENT_SEED ( 'table_or_view' )

引数

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

戻り値の型

numeric

例外

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

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

A. 指定したテーブルのシード値を返す

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

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

B. 複数のテーブルのシード値を返す

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

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