1

Is it possible to create additional 'fields' in the geodatabase domain system table (GDB_items) in SDE 10.3/Oracle?

It would be handy to store additional information in domains. For example:

  • CODE [domain coded value]
  • NAME [domain description]
  • Additional fields: DETAILS, COMMENTS, RELATED_DOCUMENT, etc.

I know it wouldn't be accessible in ArcGIS desktop's out-of-box functionality, but maybe it would be possible to query it with SQL?

The SQL used to access the domain would look like this, but include additional 'fields':

SELECT         
  EXTRACTVALUE(CodedValues.COLUMN_VALUE, 'CodedValue/Code') AS DOMAIN_CODE, 
  EXTRACTVALUE(CodedValues.COLUMN_VALUE, 'CodedValue/Name') AS DOMAIN_DESCRIPTION
FROM         
  SDE.GDB_ITEMS_VW
  JOIN SDE.GDB_ITEMTYPES
  ON SDE.GDB_ITEMS_VW.Type = SDE.GDB_ITEMTYPES.UUID,
  TABLE(XMLSEQUENCE(XMLType(Definition).Extract('/GPCodedValueDomain2/CodedValues/CodedValue'))) CodedValues 
WHERE       
  SDE.GDB_ITEMS_VW.NAME = 'STRATEGY'

Or, as an alternative, would it be an acceptable practice to create a separate table that is related to the domain by the CODE value? And then join to it using the query mentioned above?

  • 4
    If you don't mind using a completely unsupported geodatabase, with the possibilty of corruption at the next upgrade... All-in-all, I'd recommend a parallel table (owned by a different user). – Vince May 10 '16 at 20:10
  • @Vince: Why owned by a different user? – Wilson May 10 '16 at 21:17
  • 1
    To prevent namespace pollution. – Vince May 10 '16 at 21:53
0

Vince's comment as the answer:

...I'd recommend a parallel table.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.