oracle 存储过程返回查询结果集

http://wfly2004.blog.163.com/blog/static/117642720105441154399/

oracle同sql server的procedure是不一样的。

  在sql server下述语句完全正确。

  create procedure usp_test

  as

  begin

   select * from tablename

  end;

  但在oracle是运行不了的。在oracle的precedure要么使用cursor返回单个值(含单条记录),要么就使用ref cursor返回记录集。

  create or replace usp_test(cv_results in out sys_refcursor)

  is

  begin

         open cv_results for select * from tablename;

  end;

  在sqlplus调用:

  VARIABLE X REFCURSOR
  EXEC authors_sel(:x)
  print x

猜你喜欢

转载自hzxlb910.iteye.com/blog/1997422
今日推荐