Oralce 定时任务 调用存储过程
2017-04-25 16:46
246 查看
查询:
select job,broken,what,interval,t.* from user_jobs t;
job job的唯一标识,自动生成的
broken 是否处于运行状态,N;运行;Y:停止
what 存储过程名称
next_date 初次执行时间
interval 执行周期
Declare
job number;
begin
sys.dbms_job.submit(job => job,
what => 'declare s1 varchar2(200);begin pk_test_2.test_gs(s1); end;',
next_date => TRUNC(sysdate)+1+17/24,--初始执行时间
interval => 'TRUNC(sysdate)+1+17/24');--每天下午五点开始执行
commit;
end;
注: what => 'declare s1 varchar2(200);begin pk_test_2.test_gs(s1);
end;', 这个是执行带参数的存储过程的写法。不带参数的直接:what => 'pk_test_2.test_gs;' 就可以了。(封号一定不能掉)
2.执行 定时任务
Declare
job_num Integer;
Begin
-- 查找计划号
Select t.JOB Into job_num From User_Jobs t ;
-- 运行制定的执行计划
dbms_job.run(job_num);
commit;
end;
注:如果 查找计划号 查出了不止一个计划的时候,执行 dbms_job.run(job_num);
会报错 ,因为 它仅能执行一个计划。
解决办法有:
1.在 dbms_job.run(job_num);
外面套一成循环 ,应该是可以的(没有亲测,只是猜测)。
2.利用sql
语句 Select * From User_Jobs t 查看对应的JOB 属性值,如果有多个就找到自己计划的 JOB属性对应的值。如图
,然后把
执行语句 dbms_job.run(job_num)
改成
dbms_job.run(24) 就可以了。
3.就是利用PL/SQL
工具 在DBMS_Jobs 中去查看:
Declare
i Integer;
Begin
dbms_job.submit(i,
'declare s1 varchar2(200);begin pk_test_2.test_gs(s1); end;',
TRUNC(sysdate)+1+17/24,--初次执行的时间
'TRUNC(sysdate)+1+17/24');--每天下午五点执行
end;
commit;
2.执行 定时任务
和上面的步骤一样。
讲解很详细的连接地址:http://www.cnblogs.com/soundcode/p/5912750.html
select job,broken,what,interval,t.* from user_jobs t;
job job的唯一标识,自动生成的
broken 是否处于运行状态,N;运行;Y:停止
what 存储过程名称
next_date 初次执行时间
interval 执行周期
一.复杂点的:
1.创建 定时任务Declare
job number;
begin
sys.dbms_job.submit(job => job,
what => 'declare s1 varchar2(200);begin pk_test_2.test_gs(s1); end;',
next_date => TRUNC(sysdate)+1+17/24,--初始执行时间
interval => 'TRUNC(sysdate)+1+17/24');--每天下午五点开始执行
commit;
end;
注: what => 'declare s1 varchar2(200);begin pk_test_2.test_gs(s1);
end;', 这个是执行带参数的存储过程的写法。不带参数的直接:what => 'pk_test_2.test_gs;' 就可以了。(封号一定不能掉)
2.执行 定时任务
Declare
job_num Integer;
Begin
-- 查找计划号
Select t.JOB Into job_num From User_Jobs t ;
-- 运行制定的执行计划
dbms_job.run(job_num);
commit;
end;
注:如果 查找计划号 查出了不止一个计划的时候,执行 dbms_job.run(job_num);
会报错 ,因为 它仅能执行一个计划。
解决办法有:
1.在 dbms_job.run(job_num);
外面套一成循环 ,应该是可以的(没有亲测,只是猜测)。
2.利用sql
语句 Select * From User_Jobs t 查看对应的JOB 属性值,如果有多个就找到自己计划的 JOB属性对应的值。如图
,然后把
执行语句 dbms_job.run(job_num)
改成
dbms_job.run(24) 就可以了。
3.就是利用PL/SQL
工具 在DBMS_Jobs 中去查看:
二.简单点的
1.创建定时任务Declare
i Integer;
Begin
dbms_job.submit(i,
'declare s1 varchar2(200);begin pk_test_2.test_gs(s1); end;',
TRUNC(sysdate)+1+17/24,--初次执行的时间
'TRUNC(sysdate)+1+17/24');--每天下午五点执行
end;
commit;
2.执行 定时任务
和上面的步骤一样。
讲解很详细的连接地址:http://www.cnblogs.com/soundcode/p/5912750.html
相关文章推荐
- oracle 定时任务 job 调用存储过程有回到输出参数(含out参数)
- oralce有关建表,建序列,建触发器,建存储过程,建job定时任务小例子,仅供本人参考
- 使用shell脚本调用mysql数据库存储过程,并设置定时任务
- Oracle定时任务调用存储过程
- MYSQL 定时任务调用存储过程
- spring 定时任务调用存储过程配置示例(未测试)
- Oracle中使用定时任务调用存储过程
- oracle利用job创建一个定时任务,定时调用存储过程
- Spring结合Quartz实现多任务定时调用(转)
- spring定时调用数据库存储过程
- oralce数据库定时任务示例
- oracle定时器,调用存储过程,定时从n张表中取值新增到本地一张表中
- oralce数据库定时任务示例
- dos调用matlab进行定时任务处理
- 项目启动后开启定时任务方法-->TimerTask中如何调用service
- mysql创建一个存储过程并创建定时任务
- Spring Quartz 实现多任务定时调用
- oracle job 定时job调用存储过程写法 及实例 存储过程 建表
- 作业的使用示例_创建定时调用存储过程的作业.sql
- Spring结合Quartz实现多任务定时调用