ジオデータベースのバージョン非対応テーブルのデータがジオデータベースの振舞いに関与しない場合、そのデータに対して SQL による更新、挿入、削除操作を実行できます。詳細については、「SQL で編集可能なデータ タイプ」 をご参照ください。
ジオデータベースに登録されたデータはすべて、システムによって保守される NULL でない一意の ObjectID (Row ID) フィールドを持ちます。SQL を使用してジオデータベースのバージョン対応登録されていないテーブルにレコードを挿入するときは、ObjectID 用の一意な値を設定する必要があります。INSERT ステートメントで Next_RowID 関数を指定して、次に有効な値を ObjectID フィールドに入力します。
次の一連の手順では、バージョン対応登録されていないテーブルの行を 1 行ずつ更新して、ObjectID を挿入する方法を説明します。通常は、ObjectID を取得してデータを更新するルーチンまたはクライアント プログラムを作成することになります。
- psql のような SQL エディターからデータベースにログインします。
データを編集する権限を持ったユーザーとしてデータベースにログインしてください。
- Next_RowID 関数を使用して、ObjectID フィールドに値を入力します。
この例では、site_id 列は ObjectID フィールドで、テーブルの名前は outbreak です。テーブルは、hmoot スキーマに格納されます。
INSERT INTO hmoot.outbreak (site_id, med_code,num_affected, shape) VALUES ( sde.next_rowid('hmoot', 'outbreak'), 'v-22a', 3, ST_Point('point (12 36))', 4326 );
- 編集を続けます。編集が完了した場合は、編集内容をデータベースにコミットします。
テーブルに GUID または Global ID フィールドが含まれている場合は、このフィールドにも一意の値を指定する必要があります。詳細については、「Next_GlobalID」をご参照ください。