You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取物化视图对应的物理表列名、数据类型及视图列别名

物化视图关联列信息查询方案(Oracle环境)

以下方案适配你给出的单基表物化视图场景,通过查询Oracle系统视图即可直接获取基表原始列名、对应数据类型、以及物化视图中的列别名:

  • 前提条件:持有当前用户下系统视图查询权限、dbms_metadata包调用权限(普通用户默认已开通)
  • 操作步骤:执行以下SQL即可得到你需要的结果
SELECT 
    mv.mview_name AS "VIEW NAME",
    tc.column_name AS "NAME COLUMN",
    tc.data_type AS "TYPE OF DATE",
    mvc.column_name AS "COLUMN ALIASES"
FROM 
    user_mviews mv
INNER JOIN user_tab_columns mvc 
    ON mv.mview_name = mvc.table_name
INNER JOIN user_dependencies dep 
    ON dep.name = mv.mview_name 
    AND dep.type = 'MATERIALIZED VIEW' 
    AND dep.referenced_type = 'TABLE'
INNER JOIN user_tab_columns tc 
    ON dep.referenced_name = tc.table_name
    AND tc.column_name = REGEXP_REPLACE(
        dbms_metadata.get_ddl('MATERIALIZED_VIEW', mv.mview_name),
        '.*SELECT\s+(.*?)\s+AS\s+'||mvc.column_name||'\s+.*FROM.*', 
        '\1',
        1,
        0,
        'i'
    )
WHERE 
    mv.mview_name = 'ORDER_DATA'
ORDER BY 
    mvc.column_id;
  • 扩展说明:如果需要查询全库所有物化视图的对应信息,删除WHERE条件即可;如果使用管理员账号查询,可将所有视图前缀USER_替换为DBA_,注意Oracle默认保存的对象名均为大写,查询时注意大小写匹配。

输出结果示例

VIEW NAMENAME COLUMNTYPE OF DATECOLUMN ALIASES
order_dataDATAVARCHAREXAMPLE1
order_dataDATA2NUMBEREXAMPLE2

内容的提问来源于stack exchange,提问作者Giancarlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:45:05