IDENTITY特性を持つカラムには、テーブル内の各行を一意に識別するシステム生成の値が含まれています。これを使用して、従業員のID番号などの一連の番号が生成されます。IDENTITYカラムがあるテーブルに値を挿入すると、MS-SQL Serverによって、最後に使用されたIDENTITY値(行の追加によって増加されます)とカラム作成時に指定された増分値に基づいて次の識別子が自動的に生成されます。
デフォルトでは、IDENTITYカラムにデータを直接挿入することはできません。
IDENTITYカラムは、通常、Magic xpaのテーブルの位置として使用されるように定義されるので、Magicタスクで選択されなければなりません。つまり、タスクによって発行されるINSERTコマンドにこのカラムが含まれることになります。MS-SQL Serverではこのカラムの値を手動で更新することはできないので、データを挿入するとエラーメッセージが表示されます。解決策は、カラムがIDENTITYカラムであるため、Magic xpaのINSERTコマンドではこのカラムを無視するようにMagic xpaに知らせることです。
これは、Magic MS-SQL Serverゲートウェイに次のように実装されました。
[カラム特性]の[SQLタイプ]にキーワード「IDENTITY」を追加することによって、カラムがIDENTITYカラムとして識別されます。これは、Magic xpaのプログラマがテーブルを新規作成しても、定義取得を実行しても機能します。その結果、このカラムをIDENTITYとして処理するようゲートウェイに通知されます。
例:
IDENTITY特性をもつINTカラムは、[カラム特性]の[SQL]セクションの[タイプ]特性で次のように定義します。
INT IDENTITY |
ゲートウェイによってINSERTコマンドが発行されても、IDENTITYカラムはスキップされます。
定義取得では、IDENTITYカラムは[修正許可]が「No」になります。
注意: |
プログラマがIDENTITYカラムの[修正許可]を「Yes」に変更した場合、タスクでカラムを更新すると、エラーメッセージが表示されます。 |