例如:
select a, b from AA where a='a'
union
select a, b from BB where a= 'a'
union
select a, b from CC where a='a'当从AA表查询出数据,从BB表未查询出数据时,
sqlca.sqlcode返回SQL_EOS。这种情况应该如何解决?

解决方案 »

  1.   

    SQL_EOS是什么啊?搞不懂。
    建议这样做试一下:
    select a, b from AA where a='a' 
    union all
    select a, b from BB where a= 'a' 
    union all
    select a, b from CC where a='a' 
      

  2.   


    sql.slqcode返回的错误是多少代码是多少发上来看看!
      

  3.   

    当从AA表查询出数据,从BB表未查询出数据时, 
    sqlca.sqlcode返回SQL_EOS。
    楼主是要这样的需求对吗???要写存储过程的,
    select count(*) from AA where a='a' 
    select count(*) from BB where a= 'a'
    如果满足你的条件就返回错误码及错误信息。
      

  4.   

    难道搂住用的是OpenVMS?
    向你致敬,SQL_EOS错误是指结果集为空或者结果集不存在。
    即使使用Union把三个查询连起来,也有可能三个查询都没有结果。
    所以,楼主要先确定是否应该有结果,然后才做判断。
      

  5.   

    sql_eos 表示 end of stream,也就是说到了流末了。你用的是哪个版本的oracle?
      

  6.   

    如果是doer_ljy所说的,那么union all说不定可以解决,楼主试试先,
    因为union all只是简单的将两个结果合并后就返回,而union则会连表间进行链接,排除重复记录。