SQL> create table aa(a number,b date);Table createdSQL>
SQL> create or replace procedure pro
2 is
3 begin
4 insert into aa values(1,sysdate);
5 end;
6 /Procedure createdQL> declare
2 jobno number;
3 begin
4 dbms_job.submit(jobno,'pro;',sysdate,'sysdate+1/(24*60)');
5 commit;
6 end;
7 /
SQL> create or replace procedure pro
2 is
3 begin
4 insert into aa values(1,sysdate);
5 end;
6 /Procedure createdQL> declare
2 jobno number;
3 begin
4 dbms_job.submit(jobno,'pro;',sysdate,'sysdate+1/(24*60)');
5 commit;
6 end;
7 /
show error命令显示详细信息
如下:
create or replace procedure test as
update sp_env_table
set env_flag = 1;
end;
这是一个最简单的存储过程,仍然出现如下错误:
Warning: Procedure created with compilation errors.
begin
update sp_env_table
set env_flag = 1
commit;
end;
而且建议加commit
我用d2000写了一个存储过程,(带参数),现在我想按照beckhambobo(beckham) 的过程实现定时操作,但是,我不想这样再SQL提示符下一步一步实现,有没有办法!!!
2 jobno number;
3 begin
4 dbms_job.submit(jobno,'pro;',sysdate,'sysdate+1/(24*60)');
5 commit;
6 end;请问上边的sql实现的功能是不是一个小时后执行存储过程pro,而且只执行一次呢????如果要连续执行怎么办?
update sp_env_table
set env_flag = 1;
。带参数也可以,但要参数每次执行不同值,那就详细考虑了。我的那个是每分钟执行一次.
谢谢指点
正是因为每次要执行不同的值,所以我带了参数,这也是我一直没有调试通过的地方,而且,我想最好能有一个能长期存放的程序来完成这些功能,当系统启动时,其自动启动,而不用每次系统重新启动时都需要重新操作!
麻烦你了!!!
'declare
a number:=10;
begin
for i in 1..a loop
exec pro(i);
end loop;
end;',sysdate,'sysdate+1/(24*60)');没有测试,自已试多几篇吧.