1.存储过程如何返回结果集.好象在PL/SQL存储过程里不能使用SELECT * FROM 表这样的语句.
2.在存储过程中如何使用像SQL SERVER中的临时表保存中间结果集.

解决方案 »

  1.   

    存储过程返回游标的例子:http://blog.csdn.net/zhpsam109/archive/2005/12/20/556967.aspx
      

  2.   

    好的.谢谢zhpsam109(昊子鳖鳖 Jerry)那第二个问题关于在存储过程使用临时表的问题谁给我解答一下呢:)
      

  3.   

    关于 Oracel 中没有临时 表 ,但是 可以用一个 select * from test的 结果 作为表 ,实现 
    临时表的 功能 ,例如 :
    select * from 
    (select * from test)
      

  4.   

    也可以用表 类型 :
     temp_table type of test%rowtype 
    index by binary_integer;
    ta temp_table;
      

  5.   

    还有没有别的办法.用表类型能使用SQL语句来操作吗?
      

  6.   

    使用 Ref cursor 可以返回结果集例子:Type SYS_RefCursor IS REF CURSOR;CREATE OR REPLACE PROCEDURE authors_sel (
       cv_results IN OUT SYS_REFCURSOR)
    IS
    BEGIN
       OPEN cv_results FOR
       SELECT id, first_name, last_name
       FROM authors;
    END;
    /
      

  7.   

    使用 Ref cursor 可以返回结果集例子:Type SYS_RefCursor IS REF CURSOR;CREATE OR REPLACE PROCEDURE authors_sel (
       cv_results IN OUT SYS_REFCURSOR)
    IS
    BEGIN
       OPEN cv_results FOR
       SELECT id, first_name, last_name
       FROM authors;
    END;
    /------------
    在oracle中如何測試調用