还有如何把下面的两个sql中的存储过程分别改写为oracle中的,谢谢CREATE Procedure bb  as
    SELECT * FROM users  
return
GOCREATE Procedure aa (@userID int) AS
    SELECT * FROM users  WHERE userID=@userID
    return
GO

解决方案 »

  1.   

    //在oracle 中返回结果集需要使用动态游标create or replace package PKG_Test
    is
      type ResultData is ref cursor;
      procedure bb(Rst out ResultData);
      procedure aa( auserid in int,Rst out ResultData);
    end PKG_Test;
    create or replace package body PKG_Test
    is
      procedure bb(Rst out ResultData)
      is
      begin
        open Rst for select * from users;
      end;
      procedure aa( auserid in int,Rst out ResultData)
      is
      begin
        open Rst for select * from users where userid=auserid;
      end;
    end PKG_Test;
      

  2.   

    顺便问一下,Oracle中有什么类似表变量可以接受表数据吗?
      

  3.   

    使用record类型,可以接收一行的数据,但是如果要接收一张表,还是建议使用临时表。