※ ChatGPTを利用し、要約された質問です(原文:PL/SQLのプロシージャが動かない)
PL/SQLのプロシージャが動かない 解決方法を教えてください
このQ&Aのポイント
declareで実行する時は問題がないが、プロシージャを作成するとエラーが発生する。原因が理解できずに困っている。
プロシージャはテキストファイルから一行ずつ文字列を読み込み、DBMS_OUTPUTで表示するものである。
出力結果にORA-00905: キーワードがありませんというエラーが表示される。
テキストファイル(test.txt)から文字列を一行ずつ読み込んでDBMS_OUTPUTで表示を最後の行まで繰り返すプロシージャを作りたいのですが、declareで実行する時は何の問題も出ないのにプロシージャを作ろうとするとエラーが発生します。
原因が理解できないのですが返答をお願いします。
create or replase procedure TXT_R as
FH UTL_FILE.FILE_TYPE;
V_LINE VARCHAR2(32767);
BEGIN
FH := UTL_FILE.FOPEN('DATA_PUMP_DIR','test.txt','R');
LOOP
UTL_FILE.GET_LINE(FH,V_LINE);
DBMS_OUTPUT.PUT_LINE(V_LINE);
END LOOP;
EXCEPTION
WHEN NO_DATA_FOUND THEN
UTL_FILE.FCLOSE(FH);
END;
実行すると
ORA-00905: キーワードがありません。
のエラ-が出ます
お礼
すみません、確認してみたらその部分を直したら作成できました。 そこを弄った覚えがなかったもので合ってると思い込んでいました。 ありがとうございます!