Plsql PL/SQL静态游标变量作为ref游标
我有一个接受SYS_REFCURSOR并将其转换为JSON的过程 在调用上述函数的过程中,我尝试将游标定义为普通游标,并将其作为REF游标提供 我收到PLS-00361 我知道我可以使用openforconstruct,但我需要在其他地方使用游标,并且不喜欢重复 有什么建议吗Plsql PL/SQL静态游标变量作为ref游标,plsql,ref-cursor,sys-refcursor,Plsql,Ref Cursor,Sys Refcursor,我有一个接受SYS_REFCURSOR并将其转换为JSON的过程 在调用上述函数的过程中,我尝试将游标定义为普通游标,并将其作为REF游标提供 我收到PLS-00361 我知道我可以使用openforconstruct,但我需要在其他地方使用游标,并且不喜欢重复 有什么建议吗 PROCEDURE LIST_EMPLOYEES AS l_ref_cursor SYS_REFCURSOR; CURSOR c_emps IS SELECT email_ad
PROCEDURE LIST_EMPLOYEES
AS
l_ref_cursor SYS_REFCURSOR;
CURSOR c_emps
IS
SELECT email_address
FROM employees;
BEGIN
OPEN c_emps;
FETCH c_emps INTO l_ref_cursor;
json_utils.refcursor_to_json_via_http(l_ref_cursor,
'employees');
CLOSE l_ref_cursor;
EXCEPTION
WHEN others
THEN
log_error;
END LIST_EMPLOYEES;
问候,,
Laurence.您不会将光标移到REF光标中,您只需打开它:
PROCEDURE LIST_EMPLOYEES AS
l_ref_cursor SYS_REFCURSOR;
BEGIN
OPEN l_ref_cursor FOR SELECT email_address FROM employees;
json_utils.refcursor_to_json_via_http(l_ref_cursor, 'employees');
CLOSE l_ref_cursor;
END LIST_EMPLOYEES;
谢谢文森特,我知道我能做到,但如果我想做多次呢?我必须一遍又一遍地重复我的游标。如果您不止一次需要这个游标,请创建一个返回SYS_REFCURSOR的函数,并通过_http调用该函数:
json.REFCURSOR_to_json_(我的_函数,'employees')代码>