例:バージョン対応登録されているジオデータベース内のデータセットの特定方法
GDB_Items テーブル(Oracle の場合は GDB_Items_vw ビュー)の DEFINITION 列を検索して、バージョン対応登録の有無の値が true(データベースによっては 1)に設定されているフィーチャクラスのリストを取得することができます。
「ArcSDE ジオデータベースでの SQL の使用方法の概要」で解説されているとおり、SQL を使用してバージョン対応登録されたデータを編集するには、マルチバージョン対応ビューを作成する必要があります。そのため、ジオデータベース内のどのフィーチャクラスがバージョン対応登録されているかを判別できると、SQL でフィーチャクラスの編集を始める前に、マルチバージョン対応ビューの作成が必要であるかどうか確認することができます。
次に示した検索の例を実行すると、ステートメントを実行したデータベース内にある、すべてのバージョン対応登録されたフィーチャクラスのリストが返されます。
メモ:
これらの検索で返されるフィーチャクラスの中には、たとえマルチバージョン対応ビューを使用したとしても、SQL を使用して編集することができないものもあります。詳細については、「SQL を使用して編集可能なデータの種類」をご参照ください。
この検索を実行する前に、正しいデータベースに接続していることを確認してください。
--Queries PostgreSQL --Returns a list of versioned datasets in the specified geodatabase SELECT name AS "Versioned feature class", FROM sde.gdb_items WHERE (xpath('//Versioned/text()', definition))[1]::text = 'true';
--Queries a dbo-schema geodatabase in SQL Server --Returns a list of versioned datasets in the specified geodatabase SELECT NAME AS "Versioned feature class" FROM dbo.GDB_ITEMS WHERE Definition.exist('(/*/Versioned)[1]') = 1 AND Definition.value('(/*/Versioned)[1]', 'nvarchar(4)') = 'true'
--Queries Oracle --Returns a list of versioned datasets in the specified geodatabase SELECT items.name AS Dataset, itemtypes.name AS Dataset_Type FROM sde.gdb_items_vw items, sde.gdb_itemtypes itemtypes WHERE items.definition LIKE '%Versioned>true%' AND items.type = itemtypes.uuid;
3/6/2012