我想创建一个存储过程,它将从Oracle数据库中的表中返回所有行(几乎只是一个select * from)。我已经看过以前的帖子建议创建一个函数或包含一个过程的包,但如果可能的话,我会在一个独立的过程之后。
非常感谢。
答案 0 :(得分:0)
存储过程不返回任何内容(函数返回某些内容)。存储过程可以有OUT
个参数
CREATE OR REPLACE PROCEDURE getAllEmps( p_rc OUT sys_refcursor )
AS
BEGIN
OPEN p_rc
FOR SELECT *
FROM emp;
END;
虽然你当然可以做这种事情,但这是构建代码的一种相对不寻常的方式。你几乎不会在真正的系统中想要在包之外拥有独立的程序。