Informix のグローバル ID(GUID)列に対する SQL による値の挿入
GUID データ タイプは、中括弧({})で囲まれた 36 文字のレジストリ形式の文字列を格納します。この文字列によって、ジオデータベース内とジオデータベース間でフィーチャまたはテーブル行を一意に識別できます。グローバル ID は、一方向および双方向のジオデータベース レプリカとオフライン マップで使用されるバージョン非対応のデータで、レコードの一意性を維持するために使用されます。GUID はどのテーブルにも追加できます。
編集するテーブルがレプリケーションまたはオフライン マッピングに関与している場合、または GUID 列を含む場合、SQL を使用してテーブルに新しいレコードを挿入するときに、グローバル ID(GUID)列に一意の値を挿入する必要があります。これには、sde.retrieve_guid() 関数を使用します。
履歴管理が有効でないバージョン非対応のテーブルを編集する場合は、sde.retrieve_guid() 関数を使用して ID を直接テーブルに挿入できます。履歴管理が有効なバージョン非対応のテーブルを編集する場合は、テーブルの履歴管理ビューに ID を挿入します。バージョン対応登録されたテーブルを編集する場合は、関数を使用して値をテーブルのバージョン対応ビューに挿入します。
この関数を Informix で使用する場合は、Informix ONCONFIG ファイルで次のパラメータを設定する必要があります。
VPCLASS jvp,num=1
ONCONFIG ファイルを変更した後、Informix を再起動して変更を有効にする必要があります。
手順:
- SQL プロンプトから、テーブルを編集する権限を持ったユーザとしてデータベースにログインします。
バージョン対応ビューまたは履歴管理ビューを通して編集する場合、ユーザにはビューを編集する権限も必要です。
-
レコードの挿入時は、retrieve_guid() 関数を使用して、グローバル ID 値を挿入します。
INSERT INTO jason.assets (asset_id, globalid) VALUES (57, sde.retrieve_guid());
- 編集が完了したら、データベースにコミットします。
5/25/2014