我正在尝试在oracle中创建一个存储函数,该存储函数返回多行。
除了要获取查询外,我的问题与该问题非常相似select *
简而言之,我想创建一个返回此查询结果的函数
select * from t_email_queue
Run Code Online (Sandbox Code Playgroud)
我尝试过的是:
create or replace
PACKAGE email_queue AS
type t_email_queue_type is table of T_EMAIL_QUEUE%ROWTYPE;
FUNCTION lock_and_get return t_email_queue_type;
END email_queue;
create or replace
PACKAGE BODY email_queue AS
FUNCTION lock_and_get RETURN t_email_queue_type AS
queue_obj t_email_queue_type;
cursor c (lockid in varchar2) is select * from t_email_queue where lockedby = lockid;
lockid varchar2(100) := 'alf';
BEGIN
OPEN c(lockid);
FETCH c bulk collect INTO queue_obj;
return queue_obj;
END lock_and_get;
END email_queue;
Run Code Online (Sandbox Code Playgroud)
包编译很好,但是当我尝试使用此查询调用它时
select * …Run Code Online (Sandbox Code Playgroud)