1

ここで問題が発生しました。すでに「SP_DEL_TOKEN」というストアド プロシージャがあり、ストアド プロシージャを毎日自動的に実行するジョブを作成したいと考えています。

これは仕事をするための私のスクリプトです

VAR jobno NUMBER;
BEGIN
DBMS_JOB.SUBMIT(:jobno, 'SP_DEL_TOKEN', SYSDATE, 'SYSDATE+1');
COMMIT;
END;
/

しかし、そのスクリプトを実行すると、このエラーが発生しました

ERROR at line 1:
ORA-06550: line 1, column 106:
PLS-00103: Encountered the symbol "END" when expecting one of the following:
:= . ( @ % ;
The symbol ";" was substituted for "END" to continue.
ORA-06512: at "SYS.DBMS_JOB", line 79
ORA-06512: at "SYS.DBMS_JOB", line 136
ORA-06512: at line 2

私を助けてください、そして私を助けてくれてありがとう:)

4

1 に答える 1

1

「what」パラメーターの最後にセミコロンが必要です。'SP_DEL_TOKEN;'の代わりに使用してください'SP_DEL_TOKEN'その他の例については、マニュアルを参照してください。

なぜなのかわかりません。動的SQLではセミコロンを使用できません。動的PL/SQLでは、BEGINおよびが必要END;です。このパラメータは奇妙な状況で使用されていると思います。

于 2012-10-23T05:19:16.420 に答える