Oracle 如何在特定模式下搜索数据库所有表中的列名 选择表名、列名 从所有_选项卡_列 其中列名称=“”
如何在Oracle DB中使用上述列搜索查询特定架构 我这样问是因为我尝试了这个查询,它还返回了许多我感兴趣的模式之外的表,所以我对它们不感兴趣Oracle 如何在特定模式下搜索数据库所有表中的列名 选择表名、列名 从所有_选项卡_列 其中列名称=“”,oracle,Oracle,如何在Oracle DB中使用上述列搜索查询特定架构 我这样问是因为我尝试了这个查询,它还返回了许多我感兴趣的模式之外的表,所以我对它们不感兴趣 select table_name, column_name from all_tab_columns where column_name = '<YOUR_COLUMN_HERE_IN_CAPITAL_CASE>' 但是此视图没有所有者列(它只包含当前用户拥有的所有列)您可以使用LIKE函数优化搜索。 我不知道列的确切名称,但您可以将
select table_name, column_name
from all_tab_columns
where column_name = '<YOUR_COLUMN_HERE_IN_CAPITAL_CASE>'
但是此视图没有
所有者
列(它只包含当前用户拥有的所有列)您可以使用LIKE函数优化搜索。
我不知道列的确切名称,但您可以将所有者和表名添加到此列:
select table_name, column_name
FROM user_tab_columns
where column_name = '<YOUR_COLUMN_HERE_IN_CAPITAL_CASE>';
这三个变量中的任何一个也可以是空的,但您也可以在其中放入一个非常具体的变量,因此结果会有很大的差异。请注意,如果您不确定大小写,或者希望忽略大小写敏感度,请使用UPPER函数。使用以下命令
您可以通过自己使用的SQL工具来尝试
select column1,column2,column3,more_columns
from all_tables_you_need
where column1 like '%&column1%'
and column2 like '%&column2%'
and column3 like '%&column3%';
或者,如果您拥有DBA权限
select table_name from all_tab_columns where column_name = 'PICK_COLUMN';
但是,如果您不确定列名,可以将LIKE
语句添加到当前查询中
例如:
select column1,column2,column3,more_columns
from all_tables_you_need
where column1 like '%&column1%'
and column2 like '%&column2%'
and column3 like '%&column3%';
select table_name from all_tab_columns where column_name = 'PICK_COLUMN';
select table_name from dba_tab_columns where column_name = 'PICK_COLUMN';
select table_name from all_tab_columns where column_name LIKE '%PICK_COLUMN%';