Exemple : Recherche de descriptions et de codes de sous-type à l'aide de SQL

La rubrique Requêtes de colonne XML contient un exemple d'extraction des valeurs de plusieurs éléments XML avec une expression XPath dans SQL Server afin de rechercher les codes et valeurs d'un domaine de valeurs précodées. Une approche similaire permet de trouver les noms et codes des sous-types d'une classe d'entités. L'exemple Oracle indique comment interroger la vue gdb_items_vw pour extraire les informations de sous-type.

L'exemple suivant interroge une géodatabase dbo-schema (Montgomery) dans SQL Server afin d'obtenir les noms et les codes des sous-types pour une classe d'entités parcelles appartenant à l'utilisateur 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'

Cet exemple interroge la vue gdb_items_vw dans Oracle afin d'extraire la partie de la chaîne qui contient la description et le code de sous-type et recherche les valeurs d'une classe d'entités de conduites d'eau appartenant à l'utilisateur 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';

RemarqueRemarque :

Veillez à ce que la casse corresponde au contenu de la table lorsque vous fournissez des valeurs littérales.


3/6/2012