在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段
在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段这一字段已经知道,就是想知道这个字段所对应的数据,但是不知道哪些表里有这些字段?...
在pl/sql中怎么查询所有存在的表,以及怎么样获得未知表中的某一字段这一字段已经知道,就是想知道这个字段所对应的数据,但是不知道哪些表里有这些字段?
展开
4个回答
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;
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='要查的字段';
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')
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 的回答是正解!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询