我是Oracle的新手。我有一个列出数据库表名的表。它的名字是“AD_Table
”。我想从ID table
列表中选择createdby
和ad_table
。例如,在ad_table中,它有一个列名表tablename,表示数据库中的表名:
tablename
---------
AD_Tab1
AD_Tab2
AD_Tab3
AD_Tab4
AD_Tab5
AD_Tab6
AD_Tab7
AD_Tab8
AD_Tab9
AD_Tab10
我想要这样的查询:
SELECT
createdby
from (SELECT TABLENAME FROM AD_TABLE)
但它不起作用。有人可以帮忙吗?
答案 0 :(得分:0)
在Oracle中,您可以在不同的模式上拥有许多具有相同名称的表; 假设您需要找到所有表及其所有者,其名称包含在您的表中,您可以尝试使用以下内容:
select owner, table_name
from AD_table AD
inner join dba_tables DBA ON ( dba.table_name = UPPER(ad.tableName))
请注意,您需要使用有权在DBA_TABLES
上进行选择的用户登录才能运行此查询。