在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段

在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段这一字段已经知道,就是想知道这个字段所对应的数据,但是不知道哪些表里有这些字段?... 在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段这一字段已经知道,就是想知道这个字段所对应的数据,但是不知道哪些表里有这些字段? 展开
 我来答
匿名用户
2013-08-10
展开全部
如果查询所有表用这个语句就可以select table_name from user_all_tables ; 如果是查询未知表中的某一字段,查询含有这字段的所有表 select table_name from user_tab_columns where column_name='' 查询含有这字段的所有表的全部数据,用下面语句就可以查出全部含有这个字段表的字段数据declare
v_table_name varchar2(30);
v_column_name varchar2(30);
v_column_data varchar2(4000);
cursor cur_sel_table is select table_name,column_name from user_tab_columns where column_name='';
type cursor_type is ref cursor;
cur cursor_type;
begin
open cur_sel_table;
loop
fetch cur_sel_table Into v_table_name,v_column_name;
exit when cur_sel_table%notfound;
open cur for 'select '||v_column_name||' from '||v_table_name ;
loop
fetch cur into v_column_data;
exit when cur%notfound;
dbms_output.put_line(v_column_data);
end loop;
close cur;
end loop;
close cur_sel_table;
end;
匿名用户
2013-08-10
展开全部
如果你是管理员帐户,那么可以列出当前DB中所有表:
select TABLE_NAME from all_tables;
列出某个字段所属的表;
SELECT table_name from all_tab_columns where column_name='要查的字段'; 如果你是普通用户,那么只能可以列出当前用户所有表:select TABLE_NAME from user_all_tables;
列出某个字段所属的表;
SELECT table_name from user_tab_columns where column_name='要查的字段';
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-10
展开全部
列出当前DB中所有表:
select table_name from user_all_tables
列出表中所有字段:
SELECT column_name from user_tab_columns where table_name='EDL_TM_User')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-10
展开全部
Dr.Zhan 的回答是正解!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式