在ORACLE一个用户所有表中找某行数据

zt1120110894 2016-10-26 04:17:12
如题,我现在在做一个项目,oracle和Java开发的客户端,由于这个程序是别人开发的,所以我在oracle表中找起来很费劲。

比如,我想找这个数据,


油路孔长径比

但是我却有60多张表,我不知道在哪儿,一张张打开看也不现实。

请问,有没有办法,查找数据库,找到含有油路孔长径比这数据的字段,以及所在的表显示出来?

望解答,小女子感激不尽~
...全文
236 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zt1120110894 2016-10-26
  • 打赏
  • 举报
回复
引用 8 楼 wmxcn2000 的回复:
[quote=引用 7 楼 zt1120110894 的回复:]
可是也没有找到,我用的是PLSQL。还有可能是什么原因呢


那就是没有这些数据,你可以换成 like 试试[/quote]

对了,可能是没有数据,我换了一个表中有的数据,然后查出来了、



非常感谢,又学了一个。
@卖水果的net

卖水果的net 2016-10-26
  • 打赏
  • 举报
回复
引用 7 楼 zt1120110894 的回复:
可是也没有找到,我用的是PLSQL。还有可能是什么原因呢
那就是没有这些数据,你可以换成 like 试试
zt1120110894 2016-10-26
  • 打赏
  • 举报
回复
引用 6 楼 wmxcn2000 的回复:
“输出” , 这个页签中,有打印的结果;




可是也没有找到,我用的是PLSQL。还有可能是什么原因呢
@卖水果的net
卖水果的net 2016-10-26
  • 打赏
  • 举报
回复
“输出” , 这个页签中,有打印的结果;
zt1120110894 2016-10-26
  • 打赏
  • 举报
回复
引用 4 楼 wmxcn2000 的回复:
把 set serverout on 和下一行的 / 都删掉,这个是 sqlplus 中的语法。

从 declare 这行开始执行


弱弱的在问一句,我把那些删掉了,可是没有显示表,只是执行完了,也没反应。是怎么回事呢?


@卖水果的net
卖水果的net 2016-10-26
  • 打赏
  • 举报
回复
把 set serverout on 和下一行的 / 都删掉,这个是 sqlplus 中的语法。 从 declare 这行开始执行
zt1120110894 2016-10-26
  • 打赏
  • 举报
回复
引用 2 楼 wmxcn2000 的回复:

set serverout on
/

declare
rscount int ;
strsql varchar(200) ;
begin
for x in (select t.tname , c.cname
from col c, tab t
where c.tname = t.tname and t.tabtype ='TABLE' and coltype in('VARCHAR2','VARCHAR','CHAR')
)
loop
strsql := 'select count(*) from ' || x.tname || ' where ' || x.cname || ' =''内容''';
execute immediate strsql into rscount ;
if rscount > 0 then
dbms_output.put_line(x.tname || '.' || x.cname) ;
end if ;
end loop ;
end ;
/





我照着做了,显示错误??


麻烦再帮我看一下吧~
@卖水果的net
卖水果的net 2016-10-26
  • 打赏
  • 举报
回复

set serverout on 
/

declare 
    rscount int ; 
    strsql varchar(200) ; 
begin
    for x in (select t.tname , c.cname
        from col c, tab t 
        where c.tname = t.tname and t.tabtype ='TABLE' and coltype in('VARCHAR2','VARCHAR','CHAR')
    )
    loop
        strsql := 'select count(*) from ' || x.tname || ' where ' || x.cname || ' =''内容''';
        execute immediate strsql into rscount ; 
        if rscount > 0 then
            dbms_output.put_line(x.tname || '.' || x.cname) ; 
        end if ; 
    end loop ;     
end ; 
/
    

zt1120110894 2016-10-26
  • 打赏
  • 举报
回复
希望给出详细的解答。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧