在sqlplus中,我创建了该过程,并用int值填充了我的表GeneratedData ...
create procedure fillGeneratedData (x in int) as
begin
for i in 1..x loop
insert into GeneratedData values (i);
end loop;
end;
/
我想创建作业,请调用此过程,但是会引发错误,请不要调用该过程...
BEGIN
sys.dbms_scheduler.create_job(
job_name => 'job1',
job_type => 'PLSQL_BLOCK',
job_action => 'begin exec fillGeneratedData(50000); end;',
repeat_interval => 'FREQ=MINUTELY;INTERVAL=2',
start_date => systimestamp at time zone 'Europe/Belgrade',
auto_drop => FALSE,
enabled => TRUE);
END;
sqlplus表示PL / SQL过程已成功完成,但是当我查看警报日志时,它会抛出错误:
Tue Apr 01 00:50:45 2014文件c:\ app \ adbsuser \ diag \ rdbms \ orcl \ orcl \ trace \ orcl_j000_7516.trc中的错误:ORA-12012:自动执行作业74677时出错ORA-06550:第1行,列734:PLS-00103:在预期以下情况之一时遇到了符号“”:
:=。(@%;用符号“;”代替“”以继续。文件c:\ app \ adbsuser \ diag \ rdbms \ orcl \ orcl \ trace \ orcl_j000_7516.trc中的错误:ORA-12012:自动执行以下错误作业74679 ORA-06550:第1行,第734列:PLS-00103:在预期以下情况之一时遇到了符号“ FILLGENERATEDDATA”:
:=。(@%;将符号“:=”替换为“ FILLGENERATEDDATA”以继续。
有人可以帮我吗?
非常感谢。
首先,您的PL / SQL块无效。如果您尝试运行此
begin
exec fillGeneratedData(50000);
end;
你会得到一个错误。您无需exec
在PL / SQL块中使用-这是一个SQL * Plus命令。您的PL / SQL块就是
begin
fillGeneratedData(50000);
end;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句