1

我想创建一个存储过程,它将返回 Oracle 数据库中表中的所有行(几乎只是一个 select * from)。我已经看到以前的帖子建议创建一个函数或一个包含过程的包,但如果可能的话,我会追求一个独立的过程。

非常感谢。

4

1 回答 1

0

存储过程不返回任何东西(函数返回一些东西)。存储过程可以有OUT参数

CREATE OR REPLACE PROCEDURE getAllEmps( p_rc OUT sys_refcursor )
AS
BEGIN
  OPEN p_rc
   FOR SELECT *
         FROM emp;
END;

虽然你当然可以做这种事情,但这是一种相对不寻常的方式来构建你的代码。在真实系统中,您几乎永远不会希望在包之外拥有独立的过程。

于 2013-08-06T14:37:35.203 回答