zt1120110894
2016-10-26 08:27
采纳率: 83.3%
浏览 1.7k
已采纳

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

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

比如,我想找这个数据,
图片说明

油路孔长径比

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

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

望解答,小女子感激不尽~
更多

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • zt1120110894 2016-10-26 09:03
    已采纳

    谢谢楼上的评论,问题解决了。

    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 ;

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • sinat_24380921 2016-10-26 08:32

    我又一个解决思路,理论上是可行的。新建一张表,第一个字段是用来存放表名,然后你需要写一个脚本,这个脚本需要做一下几件事:1.使用disc 列出某一张表的结构,然后把表名和字段名作为一条记录存到刚刚的那张表里,然后对你的所有表都做这件事;2.在你新建的那张表里select,关键字就是你要找的“油路孔长径比”,这样你就知道是哪一张表了
    (Oracle opc 现在做开发)

    评论
    解决 无用
    打赏 举报
  • qq_28774507 2016-10-26 08:33

    我就知道一张张查字段</大笑> 数据库玩得不多 android的

    评论
    解决 无用
    打赏 举报
  • qq_28774507 2016-10-26 08:36

    SQL> show user
    USER 为 "SCOTT"
    SQL> ed
    已写入 file afiedt.buf

    1* select TABLE_NAME from user_tab_columns where column_name='ENAME'
    SQL> /

    TABLE_NAME

    EMP
    BONUS
    EXT_CASE1

    SQL>

    评论
    解决 无用
    打赏 举报
  • zt1120110894 2016-10-26 09:04

    这个是从论坛一个大神那儿给的答案。

    可以给以后的朋友们参考呀~

    一起努力学习~

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题