job_带固定输入参数的存储过程
--创建表
create table test_job(j_id int,j_name varchar2(30),j_phone int);
--查询表
select * from test_job;
--创建存储过程
create or replace procedure p_test(v_id in test_job.j_id%type,
v_name in test_job.j_name%type,
v_phone in test_job.j_phone%type) as
begin
insert into test_job values (v_id, v_name, v_phone);
commit;
end;
--创建job任务
declare
job number;
BEGIN
DBMS_JOB.SUBMIT(
JOB => job, /*自动生成JOB_ID*/
WHAT => 'p_test(''1'',''Wangwu'',''123456'');', /*需要执行的存储过程名称或SQL语句,带参数的话使用四个单引号括起来*/
NEXT_DATE => sysdate+3/(24*60), /*初次执行时间-下一个3分钟*/
INTERVAL => 'trunc(sysdate,''mi'')+1/(24*60)' /*每隔1分钟执行一次*/
);
commit;
end;
--查询job
select * from user_job;
--多次查询表观察是否插入数据
select * from test_job;
--停止job
exec dbms_job.broken(1,true); /*1为job的id*/
本文详细介绍了如何在Oracle数据库中使用存储过程并结合Job任务实现定时数据插入功能。从创建表、存储过程到设置Job任务,每一步都附有具体SQL语句,展示了如何设定任务定时执行频率及查询执行状态。
1251

被折叠的 条评论
为什么被折叠?



