お疲れ様です。
Takkoです。
PL/SQLのコンパイルエラーで手間取ってしまったので、
ご教授くださればと思います。
下記が実行されたPL/SQLです。
--略 PROCEDURE UpdtHoge IS --Hoge1の取得 CURSOR cur1 IS --① SELECT MIN(Hoge1) FROM tm_Hoge_Mst WHERE Id = '2' AND DelFlg IS NULL; phoge1 VARCHAR2(6); BEGIN OPEN cur1; FETCH cur1 INTO pHoge1; CLOSE cur1; END; --Hoge2の取得 CURSOR cur2 IS SELECT Hoge2 FROM tm_Hoge2_Mst WHERE Hoge1 = pHoge1 AND Id = '2'; pHoge2 DATE; BEGIN OPEN cur2; FETCH cur2 INTO pHoge2; CLOSE cur2; END; --Hoge3の取得 CURSOR cur3 IS SELECT Hoge3 FROM tm_Hoge2_Mst WHERE Hoge1 = pHoge1 AND Id = '2'; pHoge2 DATE; BEGIN OPEN cur3; FETCH cur3 INTO pHoge3; CLOSE cur3; END; --Hoge更新処理 BEGIN UPDATE td_Hoge_Info SET HOGE_ORDER = '1', UPDATE_DATE = SYSDATE WHERE Hoge_DEVISION IN('1','2','3','9') AND FEE_DATE BETWEEN TO_DATE(pHoge2,'YYYY/MM/DD HH24:MI:SS') AND TO_DATE(pHoge3,'YYYY/MM/DD HH24:MI:SS') END;
出力されたエラー内容
SQL> show error
PACKAGE BODY KSCT010PLのエラーです。
LINE/COL ERROR
317/3 PLS-00103: 記号"CURSOR"が見つかりました。
次のうちの1つが入るとき:
begin end function pragma procedure
このエラーを翻訳してみたり、
PLS:00103のエラーコードで検索してみたりしたのですが、
解決方法が分かりませんでした。
CURSORで宣言している--①のあたりがエラー原因になると思うのですが、
一度修正してコンパイルしてみても同様のエラーが出てしまいました。
よろしくお願いします。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。