Oracle案例:利用存储过程进行表数据分离(四)

2015-01-21 12:14:13 · 作者: · 浏览: 13
+1/24');
end;
commit;
或:


declare v_jobnum number;


begin


? dbms_job.submit


? ? ( job? ? ? => v_jobnum


? ? ,what? ? ? => 'detach_pro'


? ? ,next_date => sysdate


? ? ,interval? => 'SYSDATE+1/24'


? ? ,no_parse? => TRUE


? ? );


end;


/


commit;


?



--把存储过程防止到job中,每小时自动运行


?


SQL> declare v_jobnum number;


? 2? begin


? 3? ? dbms_job.submit


? 4? ? ? ( job? ? ? => v_jobnum


? 5? ? ? ,what? ? ? => 'detach_pro'


? 6? ? ? ,next_date => sysdate


? 7? ? ? ,interval? => 'SYSDATE+1/24'


? 8? ? ? ,no_parse? => TRUE


? 9? ? ? );


?10? end;


?11? /


?



PL/SQL procedure successfully completed.


?



SQL> commit;


?



Commit complete.


?



SQL> desc user_jobs;


?Name? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Null?? ? Type


?----------------------------------------------------------------------- -------- ------------------------------------------------


?JOB? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL NUMBER


?LOG_USER? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL VARCHAR2(30)


?PRIV_USER? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL VARCHAR2(30)


?SCHEMA_USER? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL VARCHAR2(30)


?LAST_DATE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DATE


?LAST_SEC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(8)


?THIS_DATE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DATE


?THIS_SEC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(8)


?NEXT_DATE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL DATE


?NEXT_SEC? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(8)


?TOTAL_TIME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NUMBER


?BROKEN? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(1)


?INTERVAL? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NOT NULL VARCHAR2(200)


?FAILURES? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NUMBER


?WHAT? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(4000)


?NLS_ENV? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? VARCHAR2(4000)


?MISC_ENV? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? RAW(32)


?INSTANCE? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NUMBER


?



SQL> col interval for a15



SQL> col what for a15


SQL> select job,next_date,interval,what from user_jobs;


?



? ? ? JOB NEXT_DATE INTERVAL? ? ? ? WHAT


---------- --------- --------------- ---------------


? ? ? ? 5 30-DEC-14 SYSDATE+1/24? ? detach_pro


? ? ? ? 4 01-JAN-00 SYSDATE+1/24/60 xxx_pro;


SQL>


?


--删除其他无关的job
SQL> exec dbms_job.remove(4);



PL/SQL procedure successfully completed.



SQL> select job,next_date,interval,what from user_jobs;



? ? ? JOB NEXT_DATE INTERVAL? ? ? ? WHAT
---------- --------- --------------- ---------------
? ? ? ? 5 30-DEC-14 SYSDATE+1/24? ? detach_pro