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

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

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

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

メモ:

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

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

メモ:

次に使用可能な ObjectID は、必ずしも最後に挿入した ObjectID に連続する番号ではありません。一部のクライアント アプリケーションではバッチ操作で ObjectID が割り当てられます。そのため、次に使用可能な ObjectID は、最後に使用した ObjectID から大きく離れた数字になることがあります。また、バッチで使用しなかった ObjectID は、使用可能な値のプールに戻されます。つまり、次に使用可能な ObjectID 値が、実際には、最後に挿入した ObjectID 値より小さくなることもあります。

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

  1. Microsoft SQL Server Management Studio のエディターなどの SQL エディターにログインします。

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

  2. Next_RowID ストアド プロシージャを実行して、ObjectID フィールドの値を取得します。

    この例では、gisdata4 は farmland テーブルが格納されるスキーマです。

    DECLARE @id as integer
    EXEC dbo.next_rowid 'gisdata4', 'farmland', @id OUTPUT;
    SELECT @id "Next ObjectID";
    
    Next ObjectID
    423
    
  3. 先のステートメントで返された値を使用して、挿入するレコードの ObjectID フィールドに値を入力します。
    INSERT INTO gisdata4.farmland (objectid,crop,shape)
     VALUES (
      423,
      'oats',
      geography::STGeomFromText('POLYGON((-111.85897004 33.25178949,
    -111.86899617 33.25065270, -111.86887014 33.25062350,
    -111.85884555 33.25176951, -111.85897004 33.25178949))', 4267)
     );
    
  4. 編集を続けます。編集が完了した場合は、編集内容をデータベースにコミットします。

テーブルに GUID または Global ID フィールドが含まれている場合は、このフィールドにも一意の値を指定する必要があります。詳細については、「SQL Server のグローバル ID (GUID) 列に対する SQL による値の挿入」をご参照ください。

関連トピック

  • 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. | プライバシー | リーガル