我有一个程序,它接受一个SYS_REFCURSOR并将其转换为JSON。
在调用上述内容的过程中,我正在尝试将CURSOR定义为正常并将其作为REF CURSOR提供。
我正在收到PLS-00361。
我知道我可以使用OPEN FOR构造,但我需要在其他地方使用我的Cursor并且不喜欢重复。
有什么建议吗?
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;
此致 劳伦斯。
答案 0 :(得分:0)
您不会将光标移到REF CURSOR中,只需打开它:
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;