Пример: Определение кодов подтипов и описаний с помощью SQL
Запросы столбцов XML содержат пример извлечения значений из нескольких элементов XML в выражении XPath в SQL Server для поиска кодов и значений из домена кодированных значений. Аналогичный подход можно использовать для поиска имен подтипов и кодов из класса объектов. Пример Oracle показывает возможности запроса элементов gdb_items_vw для извлечения информации подтипов.
В следующем примере в SQL Server запрашивается база геоданных dbo-schema (Montgomery) для получения имен и кодов подтипов для класса объектов parcels пользователя Jake:
SELECT subtype.value('SubtypeName[1]', 'nvarchar(max)') AS "Description",
subtype.value('SubtypeCode[1]', 'int') AS "Code"
FROM dbo.GDB_ITEMS AS items INNER JOIN dbo.GDB_ITEMTYPES AS itemtypes
ON items.Type = itemtypes.UUID
CROSS APPLY
items.Definition.nodes('/DEFeatureClassInfo/Subtypes/Subtype') AS Subtypes(subtype)
WHERE items.Name = 'Montgomery.Jake.Parcels'
В этом примере отправляется запрос gdb_items_vw в Oracle для извлечения части строки, содержащей код и описание подтипа, и определяются значения класса объектов fittings пользователя Vlad.
SELECT EXTRACTVALUE(fields.column_value, '/Subtype/SubtypeName') AS Description,
EXTRACTVALUE(fields.column_value, '/Subtype/SubtypeCode') AS Code
FROM
sde.gdb_items_vw,
TABLE(XMLSEQUENCE(XMLType(Definition).Extract('/DEFeatureClassInfo/Subtypes/Subtype'))) fields
WHERE Name = 'VLAD.Fittings';

Убедитесь, что при указании буквальных значений пример совпадает с содержанием таблицы.