1. 程式人生 > >存儲過程+定時job

存儲過程+定時job

create use java代碼 end poc values 必須 rep ces

1、存儲過程舉例:
create or replace procedure pro1
as begin
for i in 1..100 loop
insert into t1 values(3);
end loop;
commit;
end;
/

如果成功,則會輸出:Procedure created;
2、查看存儲過程內容
select text from user_source where name = ‘pro1‘ and type = ‘procedure‘;

3、視圖
Oracle下有USER_SOURCE,ALL_SOURCE,DBA_SOURCE;顧名思義,分別表示,當前用戶下,所有可訪問的,Oracle下的所有對象;

5、如果執行過程(procedure)失敗,可以執行查看日誌語句:

Error pocedure 過程(procedure)的名稱;
4、調用過程(必須有執行權限)
execute 過程(procedure)的名稱;
如果成功,則會返回’數據插入成功’等存儲過程你自己定義的響應報文;PL/SQL也會彈出:

procedure successfully completed
5、重新編譯存儲對象
類似java代碼,如果存儲過程或包含的對象被修改,則需要重新編譯:
alter procedure demopro compile;

declare
job number;
BEGIN

DBMS_JOB.SUBMIT(
JOB => job, /*自動生成JOB_ID*/
WHAT => ‘proc_add_test;‘, /*需要執行的存儲過程名稱或SQL語句*/
NEXT_DATE => sysdate+3/(24*60), /*初次執行時間-下一個3分鐘*/
INTERVAL => ‘trunc(sysdate,‘‘mi‘‘)+1/(24*60)‘ /*每隔1分鐘執行一次*/
);
commit;
end;

存儲過程+定時job