永发信息网

查找字段order_no=92081300055的内容该怎么写?

答案:2  悬赏:20  手机版
解决时间 2021-01-14 23:52
  • 提问者网友:無理詩人
  • 2021-01-14 09:20
查找字段order_no=92081300055的内容该怎么写?
最佳答案
  • 五星知识达人网友:何以畏孤独
  • 2021-01-14 09:51
你是要查表名
还是要查包含92081300055的内容

另外ORDER_NO是数字类型还是字符类型
这个肯定要用到游标和存储过程
由于oracle不支持存储过程返回表内容
所以要建立一个表来存储你要查的信息,你说明一下,我给你写追问
就像这个一样。。。左边是表。。然后右边有order_no  order_no里面有数字。我想找出关于order_no=92081300055 这些表出来..



因为想要修改所有order_no=92081300055的表里面的信息。。但是由于表太多。很难一个一个去找.  

追答declare
       cursor c_tablename
       is
       select table_name from user_tab_columns where column_name='ORDER_NO';
       v_tablename varchar2(100);
       v_cnt int;
       v_sql varchar2(2000);
begin
      open c_tablename;
         loop
           fetch c_tablename into v_tablename;
           exit when c_tablename%notfound;
           v_sql:='select count(*)  from '||v_tablename||' where ORDER_NO=92081300055 ';
           Execute immediate v_sql into v_cnt;
           if v_cnt>0
             then 
            dbms_output.put_line(v_tablename);
           end if;
         end loop;
      close c_tablename;
end;

直接执行吧,输出的是表名,如果你这些表数据量过大,可能执行时间会有点长,你耐心等待就是咯
追问
显示这个   - -!

追答你确认下你ORDER_NO字段是字符型还是数字型,我最上边那个提问就问你了,你没答我

算了,私信你,给你弄完我赶紧睡觉,浏览器右上角,查收
全部回答
  • 1楼网友:有你哪都是故乡
  • 2021-01-14 11:21
Select *
From sysobjects s
Where Exists(
Select *
From syscolumns
Where ID = s.ID and name = ORDER_NO
)
该语句查询出表里面包含ORDER_NO字段的表追问兄弟,这个打上去之后显示ora-00942:tavle or view does not exit追答

用这个查询语句,在SQL中查出的所以表中带GRBJH字段的表
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯