-1
这是存储过程是什么样子调用PL/SQL游标得到结果
CREATE OR REPLACE PACKAGE TABLE.PROCEDURES IS
type reference_cursor IS REF CURSOR;
PROCEDURE get_attrs(output out reference_cursor) IS
BEGIN
OPEN output FOR
SELECT *,
FROM ATTRS a
ORDER BY a.id;
EXCEPTION
WHEN OTHERS THEN
RAISE;
END get_attrs;
END PROCEDURES;
/
我想打电话给get_attrs存储过程,并从类型reference_cursor的输出变量的输出。
这是我想出来的,但它给了我以下错误。
DECLARE
outputTABLE.PROCEDURES.reference_cursor;
output_records TABLE.ATTRS%ROWTYPE;
BEGIN TABLE.PROCEDURES.get_attrs(output);
LOOP
FETCH
output INTO output_records;
EXIT WHEN output_records%NOTFOUND;
dbms_output.put_line(output_records.id);
END LOOP;
CLOSE output;
END;
和错误
PLS-00324: cursor attribute may not be applied to non-cursor 'OUTPUT_RECORDS'
任何想法,我也许做错了吗?
这将无法正常工作;你试过了吗? – Aleksej
没有其他我没有工作空间wd我 –
现在修改它。 –