【问题标题】:detect oracle UDT columns检测 oracle UDT 列
【发布时间】:2020-10-28 12:30:35
【问题描述】:

我有一个查询,它从 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')

【问题讨论】:

    标签: database oracle user-defined-types data-dictionary


    【解决方案1】:

    是的,这正是您所需要的。变化实际上取决于您认为值得包含或不包含的内容。例如。

    • 一些复杂的数据类型归 PUBLIC 拥有(在 ALL_TAB_COLS 中),但它们的真实类型通常归 SYS 在 ALL_TYPES 中拥有
    • 您可能希望包含/排除其他架构(MDSYS、APEX...等)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-17
      • 1970-01-01
      • 2022-06-21
      相关资源
      最近更新 更多