例:SQL を使用したドメイン所有者の検索

テーブル GDB_ItemTypes および GDB_Items(Oracle の場合は GDB_Items_vw ビュー)を検索することにより、SQL を使ってジオデータベース内のすべてのドメイン所有者を検索できます。

次の例では、XPath 式を使って特定の XML ドキュメントから値を抽出し、特定のジオデータベース内のすべてのドメイン所有者を検索する方法を示します。

この検索を実行する前に、正しいデータベースに接続していることを確認してください。

--SQL Server
SELECT items.Name AS "Domain Name",
 items.Definition.value('(/*/Owner)[1]','nvarchar(max)') AS "Owner"
FROM dbo.GDB_ITEMS AS items INNER JOIN dbo.GDB_ITEMTYPES AS itemtypes
ON items.Type = itemtypes.UUID
WHERE itemtypes.Name IN ('Coded Value Domain', 'Range Domain')

--PostgreSQL
SELECT items.name AS "Domain Name",
 (xpath('//Owner/text()', definition))[1]::text as "Owner"
FROM sde.gdb_items AS items INNER JOIN sde.gdb_itemtypes AS itemtypes
ON items.type = itemtypes.uuid
WHERE itemtypes.name IN ('Coded Value Domain', 'Range Domain');

--Oracle
SELECT	items.name AS domain_name, 
	EXTRACTVALUE(xmltype(items.definition), '*/Owner') Owner,
	itemtypes.Name AS domain_type
FROM sde.gdb_items_vw items INNER JOIN sde.gdb_itemtypes itemtypes
ON items.Type = itemtypes.UUID
WHERE itemtypes.Name IN ('Coded Value Domain', 'Range Domain');


7/10/2012