【发布时间】:2013-08-07 15:07:40
【问题描述】:
我想创建一个存储过程,它将返回 Oracle 数据库中表中的所有行(几乎只是一个 select * from)。我已经看到以前的帖子建议创建一个函数或包含一个过程的包,但如果可能的话,我会追求一个独立的过程。
非常感谢。
【问题讨论】:
我想创建一个存储过程,它将返回 Oracle 数据库中表中的所有行(几乎只是一个 select * from)。我已经看到以前的帖子建议创建一个函数或包含一个过程的包,但如果可能的话,我会追求一个独立的过程。
非常感谢。
【问题讨论】:
存储过程不返回任何东西(函数返回一些东西)。存储过程可以有OUT参数
CREATE OR REPLACE PROCEDURE getAllEmps( p_rc OUT sys_refcursor )
AS
BEGIN
OPEN p_rc
FOR SELECT *
FROM emp;
END;
虽然您当然可以做这种事情,但这是一种相对不寻常的方式来构建您的代码。在实际系统中,您几乎永远不会希望在包之外拥有独立的过程。
【讨论】: