Beispiel: Suchen von Domänenbesitzern mit SQL
Sie können SQL verwenden, um die Besitzer sämtlicher Domänen in einer Geodatabase durch Abfrage der Tabellen "GDB_ItemTypes" und "GDB_Items" (oder GDB_Items_vw view in Oracle) zu suchen.
Die folgenden Beispiele zeigen, wie unter Verwendung eines XPath-Ausdrucks ein Wert aus einem bestimmten XML-Dokument extrahiert wird, um die Besitzer sämtlicher Domänen in einer bestimmten Geodatabase zu suchen.
Achten Sie darauf, dass Sie mit der richtigen Datenbank verbunden sind, bevor Sie diese Abfrage durchführen.
--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');
9/12/2013