如何解决检测Oracle UDT列
我有一个查询,该查询从oracle数据字典中获取表的架构,并且我希望能够检测到它的哪一列是UDT-用户定义的类型列。以下sql是否合理?
select * from
all_tab_cols
join all_types on all_tab_cols.DATA_TYPE_OWNER = all_types.owner
and all_tab_cols.DATA_TYPE = all_types.TYPE_NAME
where ALL_TAB_COLS.owner not in ('SYS','SYstem','XDB')
解决方法
是的,这几乎是您所需要的。差异确实取决于您认为值得包括或不包括的内容。例如。
- PUBLIC(在ALL_TAB_COLS中)拥有某些复杂的数据类型,但它们的真实类型通常由SYS在ALL_TYPES中拥有
- 您可能还希望包含/排除其他模式(MDSYS,APEX ...等)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。