永发信息网

oracle能否遍历数据库里所有表的字段与值

答案:3  悬赏:10  手机版
解决时间 2021-02-25 22:22
在下的一个用户里面有300多张表,我想输入一个值后,就显示此值所在的表名与字段名,请问能否实现,怎么实现?
谢谢
你好,我是想一次就查询所有的表的表名与字段。
最佳答案
不知道你是写程序用,还是找数据用。写程序的话,一步到位,可能比较复杂!
下面附一点找数据的较笨的方法!看对你有没有用,以用户SCOTT为例:
1.dba_tab_columns有某个用户的所以表和列等信息:select table_name,column_name from dba_tab_columns where owner='SCOTT'
2.查看用户的表所使用的数据类型有哪些:select distinct Data_type from (select * from dba_tab_columns where owner='SCOTT') A 通过查看,就可以知道,文本型有哪些?如:是否有char, varchar2等
3.创建一个表,用于保留那些表名和字段:CREATE TABLE SCOTT.TCOL(A VARCHAr2(50), B VARCHAr2(50))
4.因为SCOTT用户的字段类型较少,下面以找NUMBER类型值为1100的表名与字段在SQLPLUS下运行如下代码(如果数值多的话,可以用 in('NUMBER',...)格式。

set serveroutput on
delete from scott.TCOL;
commit;

declare
cursor my_cursor is
select table_name,column_name from dba_tab_columns where owner='SCOTT' and DATA_TYPE='NUMBER';
v_table varchar2(50);
v_col varchar2(50);
v_sql varchar2(4000);
begin
open my_cursor;
loop
fetch my_cursor into v_table,v_col;
dbms_output.put_line(v_table);
exit when my_cursor%NOTFOUND;
v_sql:='Insert into SCOTT.TCOL(A,B) select '||''''|| v_table||''''||','||''''|| v_col||''''||' from SCOTT.'||v_table||' where '||v_col||'=1100';
dbms_output.put_line(v_sql);
EXECUTE IMMEDIATE v_sql;
commit;
end loop;
close my_cursor;
end;

5.最后执行select * from scott.tcol,就可以看到结果! 如果有用,自己再整理成一个存储过程.

以上仅参考!
全部回答
你数据多 要想查全 实在不行 就一次查1w个 多查几次 还是慢就只能等了 结果集处理 那要问你了 你把他调出来 干什么 你就干什么呗 推荐放在excel里面
你数据多 要想查全 实在不行 就一次查1w个 多查几次 还是慢就只能等了 结果集处理 那要问你了 你把他调出来 干什么 你就干什么呗 推荐放在excel里面
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我男朋友是交警,可是我朋友说做交警的人会变
如图所示,若△ABC≌△EFC,且CF=3厘米,∠EF
怎么学周杰伦唱歌或者讲话啊
my best gift英语作文20词
百度云账号丢了怎么办
CAD中能不能移动一个圆 去和另一个圆相切怎么
长江卡在农村商业银行. 邮政储蓄银行柜面每日
天天向上这一期,上海戏剧学院的那个男生跳的
金一个月能拿多少钱,杭州失业金领取标准和条
车油门忽高忽低为什么福特福克斯
象山国民村镇银行怎么去啊,有知道地址的么
背景资料:某二级公路的主要工序如下表:施工
雀氏纸尿裤好吗
我的手机(小米3)经常收到一些来历不明的图
QQ游戏里的总督有多少分啊?
推荐资讯
卫生纸半成品加工
YG8跟YG8N有什么区别
=vlookup(a1,sheet2!a:d,4,false)A1是数字时
高崖村地址在什么地方,想过去办事
【think about与thank of与thank over区别我
大家用的护肤品一般价位在多少
零距离男装地址在什么地方,想过去办事
雅戈尔工厂店地址在什么地方,想过去办事
荣耀zero 步数怎么同步到app
电动车打开电源后,稍微拧一下转把就会冲一段
路由器如何设置网络拒绝接入
奶骑22和什么组合最猛
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?