ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

Db2 のバージョン非対応ジオデータベース データの SQL による編集

ジオデータベースのバージョン非対応テーブルのデータがジオデータベースの振舞いに関与しない場合、そのデータに対して SQL による更新、挿入、削除操作を実行できます。詳細については、「SQL で編集可能なデータ タイプ」 をご参照ください。

メモ:

バージョン対応登録されていないテーブルを SQL を使用して編集するときに、履歴管理が有効化されている場合は、テーブル自体ではなく、テーブルの履歴管理ビューを編集する必要があります。ビューは ArcGIS が管理しているフィールドを自動的に更新します。詳細については、「履歴管理ビューとは」と関連トピックをご参照ください。

ジオデータベースに登録されたデータはすべて、システムによって保守される NULL でない一意の ObjectID (Row ID) フィールドを持ちます。SQL を使用してジオデータベースのバージョン対応登録されていないテーブルにレコードを挿入するときは、ObjectID 用の一意な値を設定する必要があります。SQL を使用して ObjectID フィールドに値を挿入するには、Next_RowID ストアド プロシージャを使用します。

次の一連の手順では、バージョン対応登録されていないテーブルの行を 1 行ずつ更新して、ObjectID を挿入する方法を説明します。通常は、ObjectID を取得してデータを更新するルーチンまたはクライアント プログラムを作成することになります。

  1. Db2 Call Level Interface のような SQL エディターからデータベースにログインします。

    データを編集する権限を持ったユーザーとしてデータベースにログインしてください。

  2. 以下と同じように SQL ステートメントを実行し、Next_RowID ストアド プロシージャを呼び出します。

    Next_RowID ストアド プロシージャは、テーブル所有者とテーブル名を入力として受け取り、テーブルの次の ObjectID を返します。

    この例では、GIS がテーブル所有者、FACTORIES がテーブル名 です。3 つの疑問符 (?) は、返される 3 つのパラメーター (ROWID、MSGCODE、MESSAGE) を示しています。

    CALL SDE.next_rowid('GIS','FACTORIES',?,?,?)
    Value of output parameters
    -----------------------------
    Parameter Name : O_ROWID
    Parameter Value : 18
    Parameter Name : O_MSGCODE
    Parameter Value : 0
    Parameter Name : O_MESSAGE
    Parameter Value : Procedure successfully
    completed.
    Return Status = 1
    
  3. 上記の CALL ステートメントから返された O_ROWID の値を使用して、レコードをテーブルに挿入します。
    INSERT INTO FACTORIES
    (OBJECTID,NAME,SHAPE)
    VALUES(
    18,
    'megafactory',
    db2gse.ST_PolyFromText('POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )',
    db2gse.coordref()..srid(4326))
    );
    
  4. 編集を続けます。編集が完了した場合は、編集内容をデータベースにコミットします。

テーブルに GUID または Global ID フィールドが含まれている場合は、このフィールドにも一意の値を指定する必要があります。詳細については、「Next_GlobalID」をご参照ください。

関連トピック

  • Next_RowID
  • RowID_Name
  • ObjectID とは
  • SQL で編集可能なデータ タイプ

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル