例:バージョン対応登録されているジオデータベース内のデータセットの特定方法
GDB_Items テーブル(Oracle の場合は GDB_Items_vw ビュー)の DEFINITION 列を検索して、バージョン対応登録の有無の値が true(データベースによっては 1)に設定されているフィーチャクラスのリストを取得することができます。
「エンタープライズ ジオデータベースでの 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;
5/25/2014