利用游标返回存储过程查询的结果集,如果有两个查询语句,怎么把两个查询语句的结果集合成一个返回,不使用UNION
比如:
SELECT * FROM TABLE_A;
SELECT * FROM TABLE_B;
TABLE_A与TABLE_B没有任务关系,如果不使用UNION,如何将两个表的记录全部返回?

解决方案 »

  1.   

    为什么不用union呢,难道用笛卡儿积
      

  2.   

    不用UNION ,有点难度,等待高手!
      

  3.   

    我要写的SQL语句还是比较复杂的,要根据不同的条件取不同的数据,但是取出的数据字段是一样的,用UNION的确可以实现,但是用了UNION效率比较低,而且代码维护也比较复杂.其实我当时有个想法是把游标看成队列,可以往这个里边插入数据的.用过临时表,但是临时表不是很好用,也是我水平不够了.各位谁有好的例子能不能发给我一个.  谢谢!
      

  4.   

    你这种办法不是临时表,正真的临时表请参见下帖
    http://blog.csdn.net/qudymeteor/archive/2007/10/23/1840078.aspx还有一种办法就是创建视图,你每次调用存储过程的时候直接CREATE OR REPLACE VIEW就好,不必先判断表或视图是否存在,因为有了REPLACE,它自己就把先前的给覆盖了。
      

  5.   

    既然union可以实现,用union all就可以了,union会判断重复