CREATE or replace PROCEDURE test
aa varchar2(20),
bb varchar2(20),
ret int output
AS
begin
select * from table1;
select ret := 1234;
end test;

解决方案 »

  1.   


    //返回游标
    CREATE OR REPLACE PACKAGE test
    AS
       TYPE myrctype IS REF CURSOR;
    END test;
    /create procedure pro(c out test.myrctype)
    as
    str varchar2(200);
    begin
    str:='select * from table1';
    open c for str;
    end;
    /
      

  2.   

    不是呀,我需要把下面的语句转到oracle:declare @q int 
    exec test '123','123',@ret = @q OUTPUT 
    select @q
      

  3.   

    发现关键是最后一句:select @q,Oracle下好象select必须要from,应该如何解决?
      

  4.   

    select @q 是什么意思啊?
      

  5.   

    declare @q int                          //声明int型的变量q
    exec test '123','123',@ret = @q OUTPUT  //把出参的值赋给q
    select @q                               //把q值作为结果集返回,这里应该写select @q as return_value更直观一些