Я пытаюсь вызвать хранимую процедуру в Oracle и показывают результаты вызова, проблема заключается в том, что он выходит из строя на линии FETCH v_cur into v_a;
с ошибкой: ORA-06504: PL/SQL: Return types of Result Set variables or query do not match.
Как получить результат/вывод refcursor для отображения в виде текста?
Я предполагаю, что результат запроса не соответствует v_a VARCHAR2(100)
, но я не знаю, что там положить. Вызываемая хранимая процедура объединяет несколько таблиц и выбирает более 20 + разных столбцов, принадлежащих разным таблицам. Поэтому я хотел бы просто просмотреть вывод запроса без необходимости ссылаться на каждый столбец результатов отдельно. Как я пойду и сделаю это?
Я использую SQL Navigator (не так уж и важно).
DECLARE
v_cur SYS_REFCURSOR;
v_a VARCHAR2(100);
BEGIN
pkg_get_results.get_rows(v_cur,to_date('2012/04/12', 'yyyy/mm/dd'),to_date('2012/04/12', 'yyyy/mm/dd'), '','','','');
LOOP
FETCH v_cur into v_a; -- what to put here ?
EXIT WHEN v_cur%NOTFOUND;
dbms_output.put_line(v_a);
END LOOP;
CLOSE v_cur;
END;
На самом деле важно, какой продукт вы используете. Для SQL Nav следуйте инструкциям здесь: http://sqlnavigator.inside.quest.com/thread.jspa?threadID=2466 –
@IgbyLargeman - Я проголосовал бы за это, если бы вы разместили его в качестве ответа. –
@JustinCave: Спасибо, но мне просто не кажется, что я должен отправить ответ, который в основном «я искал его, вот что я нашел» без какой-либо разработки из моих собственных знаний или исследований. К сожалению, я не работаю с Oracle в эти дни и не могу (или время) тестировать. –