【问题标题】:Find a certain column name in all views in one select statement在一个 select 语句中的所有视图中查找某个列名
【发布时间】:2018-09-05 01:05:55
【问题描述】:

我正在所有视图中搜索某个列名。我知道以下适用于所有表,但不知道如何对所有视图执行此操作:

我用来在所有表中查找 column_name='SHORT_TITLE' 但现在需要搜索所有视图:

SELECT table_name, column_name FROM all_tab_columns WHERE column_name='SHORT_TITLE'

谢谢

【问题讨论】:

    标签: view columnname


    【解决方案1】:

    甲骨文:

    将 all_tab_columns 与 all_views 连接

    SELECT table_name, column_name
    FROM all_tab_columns, all_views
    WHERE all_tab_columns.table_name = all_views.view_name
    AND column_name = ...
    

    table_name 的结果只会是视图

    SQL:

    我们可以通过加入 information_schema.views 和 information_schema.columns 来做到这一点

    SELECT v.table_name, column_name FROM information_schema.views v JOIN information_schema.columns c  
    ON v. = c.table_schema 
    AND v.table_name = c.table_name
    WHERE column_name = ...
    

    v.table_name 是视图的名称。

    编辑:我添加了 Oracle,因为我刚刚意识到你的问题中的 all_tab_columns

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-18
      • 2016-06-21
      • 2019-03-13
      相关资源
      最近更新 更多