Oracleでストアドプロシージャを呼び出して、呼び出しの結果を表示しようとしています。問題は、FETCH v_cur into v_a;
エラーが発生して行でクラッシュすることです。ORA-06504: PL/SQL: Return types of Result Set variables or query do not match.
クエリの出力が一致しないと思いますが、v_a VARCHAR2(100)
代わりに何を入力すればよいかわかりません。呼び出されているストアドプロシージャは、複数のテーブルを結合し、異なるテーブルに属する20以上の異なる列を選択します。したがって、各結果列を個別に参照しなくても、クエリの出力を表示するだけで済みます。どのように行ってこれを行うのですか?
私はSQLナビゲーターを使用しています(それほど重要ではないと思います)。
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;