Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » SQL のダイアレクトと互換性 » Transact-SQL と互換性のあるデータベース

 

特殊な IDENTITY カラム

IDENTITY カラムは、送り状番号や従業員番号のような連続番号を格納します。このカラムは、自動生成されます。IDENTITY カラムの値はテーブルの各ローをユニークに識別します。

Adaptive Server Enterprise では、データベースの各テーブルは IDENTITY カラムを 1 つだけ持つことができます。データ型は numeric、位取りは 0 (ゼロ)、NULL 値は許可されません。

SQL Anywhere では、IDENTITY カラムはカラムのデフォルトとして設定されます。連続番号でない値も、INSERT 文を使用してカラムに明示的に挿入できます。Adaptive Server Enterprise は、identity_insert オプションが on に設定されないかぎり、identity カラムへの INSERT を許可しません。SQL Anywhere では、NOT NULL プロパティを設定する必要があります。また、1 つのカラムのみが IDENTITY カラムであることを確認する必要があります。SQL Anywhere では、IDENTITY カラムにどの数値データ型でも使用できます。パフォーマンスのためには、整数データ型の使用をおすすめします。

SQL Anywhere では、IDENTITY カラムとカラムのデフォルト設定の AUTOINCREMENT は同じです。

IDENTITY カラムを作成するには、次の CREATE TABLE 構文を使用します。ただし、n にはテーブルに挿入される可能性のある最大ロー数の値を保持できる大きさである必要があります。

CREATE TABLE table-name (
   ...
   column-name numeric(n,0) IDENTITY NOT NULL,
   ...
)

@@identity を使用する IDENTITY カラム値の検索