DECLARE @DOMAIN_NAME NVARCHAR(MAX); SET @DOMAIN_NAME = 'Material'; DECLARE @CLASS_DEFS TABLE ( Name nvarchar(max), Definition XML ) INSERT INTO @CLASS_DEFS SELECT GDB_ITEMS.Name, GDB_ITEMS.Definition FROM -- Get the domain item's UUID. ((SELECT GDB_ITEMS.UUID AS UUID FROM GDB_ITEMS INNER JOIN GDB_ITEMTYPES ON GDB_ITEMS.Type = GDB_ITEMTYPES.UUID WHERE GDB_ITEMS.Name = @DOMAIN_NAME AND GDB_ITEMTYPES.Name IN ('Coded Value Domain', 'Range Domain')) AS Domain -- Find the relationships with the domain as the DestinationID. INNER JOIN GDB_ITEMRELATIONSHIPS ON Domain.UUID = GDB_ITEMRELATIONSHIPS.DestID) -- Find the names of the origin items in the relationships. INNER JOIN GDB_ITEMS ON GDB_ITEMRELATIONSHIPS.OriginID = GDB_ITEMS.UUID; -- Extract the field definitions. SELECT ClassDefs.Name AS "Class Name", fieldDef.value('Name[1]', 'nvarchar(max)') AS "Field Name", NULL AS "Subtype Name" FROM @CLASS_DEFS AS ClassDefs CROSS APPLY Definition.nodes('/*/GPFieldInfoExs/GPFieldInfoEx') AS FieldDefs(fieldDef) WHERE fieldDef.value('DomainName[1]', 'nvarchar(max)') = @DOMAIN_NAME UNION SELECT ClassDefs.Name AS "Class Name", fieldDef.value('FieldName[1]', 'nvarchar(max)') AS "Field Name", fieldDef.value('(../../SubtypeName)[1]', 'nvarchar(max)') AS "Subtype Name" FROM @CLASS_DEFS AS ClassDefs CROSS APPLY Definition.nodes('/*/Subtypes/Subtype/FieldInfos/SubtypeFieldInfo') AS FieldDefs(fieldDef) WHERE fieldDef.value('DomainName[1]', 'nvarchar(max)') = @DOMAIN_NAME
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.