Informix のバージョン非対応ジオデータベース データの SQL による編集
ジオデータベースのバージョン非対応テーブルのデータがジオデータベースの振舞いに関与しない場合、そのデータに対して SQL による更新、挿入、削除操作を実行できます。SQL を使用して編集できないデータ タイプとジオデータベースの振舞いについては、「SQL を使用して編集可能なデータの種類」をご参照ください。
ジオデータベースに登録されたデータはすべて、システムによって保守される null でない一意の object ID(行 ID)列を持ちます。SQL を使用してジオデータベースのバージョン非対応テーブルにレコードを挿入するときは、object ID 用の一意な値を設定する必要があります。
ここでは 1 行ずつ更新する方法について説明します。通常は、object ID を取得してデータを更新するルーチンまたはクライアント プログラムを作成することになります。
手順:
-
I-SQL のような SQL エディタからデータベースにログインします。
データを編集する権限を持ったユーザとしてデータベースにログインしてください。
-
table_registry テーブルをクエリして、行を挿入するテーブルの登録 ID と所有者を取得します。
この例では、factories テーブルの登録 ID と所有者名が返されます。
SELECT owner,registration_id,table_name FROM sde.table_registry WHERE table_name='factories'; owner registration_id table_name editor1 7 factories
- next_row_id 関数を実行し、使用可能な次の行 ID の値を取得するために、ログインします。
-
next_row_id 関数を実行します。この関数は sde ユーザが所有します。
この例では、editor1 がテーブル所有者で、7 が factories テーブルの登録 ID です。
EXECUTE FUNCTION "sde".next_row_id('editor1',7); ret_code 0 err_msg rowid 18 1 row(s) retrieved.
-
SQL エディタに戻り、テーブルにレコードを挿入します。
INSERT INTO factories VALUES ( 18, 'makem' ST_PolyFromText('POLYGON((52 18,66 23,73 9,48 6,52 18),(59 18,67 18,67 13,59 13,59 18))',101) );
関連項目
3/6/2012