oracle 在一个select语句中查找所有视图中的某个列名

5jdjgkvh  于 2023-03-29  发布在  Oracle
关注(0)|答案(1)|浏览(169)

我正在所有视图中搜索某个列名。我知道以下方法适用于所有表,但不知道如何适用于所有视图:
我用来在所有表中查找column_name='SHORT_TITLE',但现在需要搜索所有视图:

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

rqqzpn5f1#

甲骨文:
连接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

相关问题