-1

2 つの日付を取り、カーソルを返すストアド プロシージャがあります。ストアド プロシージャはコンパイルされますが、正しい pl/sql を記述して何が返されるかを「確認」するのに問題があります。私は次のことを試しました:

DBMS_OUTPUT.PUT_LINE('MY_CURSOR=' || MY_CURSOR)

カーソルの行に含まれる列を表すローカル変数を宣言すると、

ループ MY_CURSOR をローカル変数にフェッチ MY_CURSOR%notfound DBMS_OUTPUT_PUTLINE(ローカル変数 1 || ローカル変数 2 など) 終了時に終了 ループ終了

ループはさらに実行されるようですが、フェッチラインでエラーが発生します: ORA-01858: 数値が期待されていた場所で非数値文字が見つかりました ORA-06512: 18 行目

誰でもアドバイスを提供できますか?

4

2 に答える 2

1

ループは私のニーズに合わせて機能します-変数の順序が間違っていました。

于 2009-06-04T14:59:56.630 に答える
0

ループはさらに実行されるようですが、フェッチラインでエラーが発生します: ORA-01858: 数値が期待されていた場所で非数値文字が見つかりました ORA-06512: 18 行目

フェッチするローカル変数の型を確認してください。

VARCHAR2フィールドをNUMBER変数にフェッチしようとしているようです。

于 2009-06-04T15:00:53.883 に答える