经测试发现,具体要注意两点
1.调度程序中只能直接执行基础的增删改查(如insert),其他如truncate table需要用execute immediate执行,且注意执行语句要用两个单引号引用
2.program_action参数的end结尾后一定要带分号作为结束,否则报错
具体例子如下,希望能帮助到有缘搜索到此文的人
dbms_scheduler.create_program(
program_name => 'test_erase',
program_type => 'PLSQL_BLOCK',
program_action => '
begin
execute immediate ''truncate table a1'';
commit;
end;',
enabled => true,
comments => '清测试表'
);