SQL Server のグローバル ID(GUID)列に対する SQL による値の挿入

GUID データ タイプは、中括弧({})で囲まれた 36 文字のレジストリ形式の文字列を格納します。この文字列によって、ジオデータベース内とジオデータベース間でフィーチャまたはテーブル行を一意に識別できます。グローバル ID は、一方向および双方向のジオデータベース レプリカでレコードの一意性を維持するために使用されます。GUID はどのレイヤにも追加できます。

そのため、編集するテーブルがレプリケーションに関与している場合、または、GUID 列を含む場合、SQL を使用してテーブルに新しいレコードを挿入するときに、グローバル ID(GUID)列に一意の値を挿入する必要があります。これには、Microsoft SQL Server の newid() 関数を使用します。バージョン対応テーブルを編集する場合は、newid() 関数を使用して、テーブルのマルチバージョン対応ビューを SQL によって編集します。

ヒントヒント:

カタログ ウィンドウでフィーチャクラスにグローバル ID を追加するには、データセットを右クリックして、[グローバル ID の追加] をクリックします。ArcGIS 経由で編集している場合、この値はジオデータベースによって自動的に挿入されます。

手順:
  1. バージョン対応テーブルを編集する場合は、「マルチバージョン対応ビューの作成」の説明にならって、テーブルのマルチバージョン対応ビューを作成します。
  2. SQL Server Management Studio にテーブルを編集する権限を持ったユーザとしてログインします。
  3. 新しいクエリ ウィンドウを開いて、編集するビューを含むデータベースに接続します。
  4. バージョン対応テーブルを編集する場合は、「マルチバージョン対応ビューと SQL による SQL Server のバージョン対応データの編集」の手順に従って、編集するバージョンを作成し、バージョンを設定して、編集セッションを開始します。バージョン非対応テーブルを編集する場合は、次のステップに進みます。
  5. テーブルにレコードを挿入するときに、newid() 関数を使用してグローバル ID(GUID)列に値を設定します。
    INSERT INTO jason.asset_mv (asset_id,globalid) 
    VALUES (57,newid())
    
  6. マルチバージョン対応ビュー経由で編集している場合は、編集が終わったら編集セッションを閉じます。構文については、「マルチバージョン対応ビューと SQL による SQL Server のバージョン対応データの編集」をご参照ください。

7/10/2012