我找来找去都是用包来返回的,有没有类似于SQL SERVER那样可以通过一个select 语句直接返回的?
请大家帮我想想办法,我在DELPHI里需要调用

解决方案 »

  1.   

    本来可以直接用一个SQLECT语句就可以了,不过现在因为某几个字段要做复杂的计算,中间用到了临时表,所以只能放到存储过程中去实现了,但总是提示缺少INTO子句,比如:
    CREATE OR REPLACE  PROCEDURE MYPRO (
    range1 in int,
    range2 in int)
    AS
    begin
      select * from TABLE111;
    end;在不使用传参的情况下就已经出错了
      

  2.   

    返回游标啊 
    定义一个 CURSORCREATE...PROCEDURE
    (
      MYCURSOR CURSOR
    )BEGIN  OPEN MYCURSOR FOR
          select * from TABLE111; 
    END; 
      

  3.   

    能给个具体点的例子吗?刚学ORACLE,不是很明白
      

  4.   

    用ref cursor即可(详细请google)create procedure p_test
    (
    cur_result out sys_refcursor
    )
    as
    begin
      open cur_result for select * from scott.emp;
    end;
      

  5.   

    http://www.cnblogs.com/jinzhili/articles/1085177.html
    我写的一个很完整的例子。