Sql Oracle-PLS-00103:遇到符号“PLS-00103”;完";当尝试创建作业时

Sql Oracle-PLS-00103:遇到符号“PLS-00103”;完";当尝试创建作业时,sql,oracle,oracle9i,Sql,Oracle,Oracle9i,我这里有个问题, 我已经有一个名为“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: E

我这里有个问题, 我已经有一个名为“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
请帮帮我,
谢谢您的帮助:)

您需要在“what”参数的末尾加一个分号。使用
'SP\u DEL\u TOKEN;'而不是
'SP\u DEL\u TOKEN'
。有关详细信息,请参阅手册

我不知道这是为什么。使用动态SQL不能有分号,而使用动态PL/SQL则需要
BEGIN
END。我猜这个参数是在一些奇怪的上下文中使用的