Procedure Prc_Create_Job Is
Begin
Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');
Insert Into tb1
(Jobid, Sysid, Jobname)
Values
(n_Jobid, Sysjobid, 'wow');
Commit;
End Prc_Create_Job;
上面的是执行完prc_create_job之后开始执行job,还是运行到语句 Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');就开始执行了,说说原因,谢谢
Begin
Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');
Insert Into tb1
(Jobid, Sysid, Jobname)
Values
(n_Jobid, Sysjobid, 'wow');
Commit;
End Prc_Create_Job;
上面的是执行完prc_create_job之后开始执行job,还是运行到语句 Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');就开始执行了,说说原因,谢谢
Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');
这个就是调度job的!每次执行这个Prc_Create_Job 过程,系统就会开始执行后面的job的
Dbms_Job.Submit(Sysjobid,
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');时候就开始调度job了 ,然后继续后面的insert操作
如果当前没有job等待,这个job就可以立马执行。因此job的运行可能就和create job并发执行
这是我的理解。
To submit a job to the job queue
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');就开始执行了,说说原因,谢谢
submit后立即执行。执行job是另外一个线程(进程),跟当前存储过程的线程不是同一个。
'Pkg1.Prc_Main_Handle(' || n_Jobid || ');');就开始执行了和写的sql脚本道理是一样的。
那你不会把后面那个insert和commit放到调用job前面吗?
SQL> desc t_test
Name Type Nullable Default Comments
---- ------ -------- ------- --------
ID NUMBER Y
OPER DATE Y
SQL>
SQL> declare
2 v_job number;
3 begin
4 dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
5 dbms_job.submit(v_job,'insert into t_test select nvl(max(id),0)+1,sysdate from t_test;');
6 dbms_output.put_line(v_job);
7 end;
8 /
2010-11-11 16:24:18
269
PL/SQL procedure successfully completed
SQL> select id,to_char(oper,'yyyy-mm-dd hh24:mi:ss') from t_test;
ID TO_CHAR(OPER,'YYYY-MM-DDHH24:M
---------- ------------------------------
SQL>
SQL> begin
2 commit;
3 dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'));
4 end;
5 /
2010-11-11 16:24:59
PL/SQL procedure successfully completed
SQL> select id,to_char(oper,'yyyy-mm-dd hh24:mi:ss') from t_test;
ID TO_CHAR(OPER,'YYYY-MM-DDHH24:M
---------- ------------------------------
1 2010-11-11 16:25:02
SQL>