0

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;
4

1 に答える 1

2

SQL Navigatorには、これを行う機能があります。それを行う方法は、ナビゲーターのバージョンによって異なります。バージョンによっては、ナビゲーターがない場合もあります(私にはわかりませんが)。

手順は次のスレッドにあります:http ://sqlnavigator.inside.quest.com/thread.jspa?threadID = 2466

ちなみに、ヒキガエルにもこの能力があります。

于 2012-04-20T17:25:40.983 に答える