可使用 SQL 来查询地理数据库系统表 GDB_ItemTypes 和 GDB_Items,从而在地理数据库中查找所有属性域的所有者。
以下示例介绍如何从特定 XML 文档中提取值,以在 SQL Server 或 PostgreSQL 中的特定地理数据库内查找所有属性域的所有者。
请确保在执行此查询之前已连接到正确的数据库。
--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');