為開發人員編寫每天凌晨2點執行一個儲存過程_dbms_job
Create Or Replace Procedure P_O_Ins_Upd_Classappraiseinfo
As
Begin
merge into O_CLASSAPPRAISEINFO a
using(select a.classid,count(b.appraise) commentnumber,count(distinct a.userid) engagednumber,ceil(sum(b.appraise)/count(distinct b.userid)) starlevel
from o_classpartyinfo a,o_classpartyinfo b
where a.logid=b.logid and a.classid=b.classid and b.appraise is not null
group by a.classid
) b
on (a.classid=b.classid)
when matched then update set a.appraisename=b.commentnumber,a.engagednumber=b.engagednumber,a.starlevel=b.starlevel
When Not Matched Then Insert (A.Appraiseid,A.Classid,A.Appraisename,A.Engagednumber,A.Starlevel,A.Createtime)
Values(Lpad(Seq_Onlinemv.Nextval,16,'0'),B.Classid,B.Commentnumber,B.Engagednumber,B.Starlevel,Sysdate);
commit;
End;
/
As
Begin
merge into O_CLASSAPPRAISEINFO a
using(select a.classid,count(b.appraise) commentnumber,count(distinct a.userid) engagednumber,ceil(sum(b.appraise)/count(distinct b.userid)) starlevel
from o_classpartyinfo a,o_classpartyinfo b
where a.logid=b.logid and a.classid=b.classid and b.appraise is not null
group by a.classid
) b
on (a.classid=b.classid)
when matched then update set a.appraisename=b.commentnumber,a.engagednumber=b.engagednumber,a.starlevel=b.starlevel
When Not Matched Then Insert (A.Appraiseid,A.Classid,A.Appraisename,A.Engagednumber,A.Starlevel,A.Createtime)
Values(Lpad(Seq_Onlinemv.Nextval,16,'0'),B.Classid,B.Commentnumber,B.Engagednumber,B.Starlevel,Sysdate);
commit;
End;
/
exec P_O_Ins_Upd_Classappraiseinfo
declare
v_job BINARY_INTEGER;
begin
dbms_job.submit(v_job,'P_O_Ins_Upd_Classappraiseinfo;',trunc(sysdate+24/24)+2/24,'trunc(sysdate+24/24)+2/24+24/24');
end;
/
dbms_job.submit(v_job,'P_O_Ins_Upd_Classappraiseinfo;',trunc(sysdate+24/24)+2/24,'trunc(sysdate+24/24)+2/24+24/24');
end;
/
select job,to_char(next_date,'yyyy-mm-dd hh24:mi:ss'),interval from user_jobs;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-668438/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何查詢一個儲存過程是否在執行儲存過程
- 不為人知的技術--Oracle並行非同步執行儲存過程Oracle並行非同步儲存過程
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- Linux C++ 開發2 - 編寫、編譯、執行第一個程式LinuxC++編譯
- laravel建立一個儲存過程Laravel儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- oracle儲存過程書寫格式Oracle儲存過程
- mssql 儲存過程呼叫另一個儲存過程中的結果的方法分享SQL儲存過程
- Q&A:在SQL Server 2005中編寫儲存過程RVSQLServer儲存過程
- 應用儲存過程執行報錯解決方案儲存過程
- 如何把SQL Server中一個表,一個儲存過程,一個檢視等改為系統表,系統儲存過程,系統檢視等...SQLServer儲存過程
- MySQL的寫入資料儲存過程MySql儲存過程
- 怎樣評價一個幾千行的 SQL 儲存過程SQL儲存過程
- SQL Server儲存過程的優缺點SQLServer儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- unidac儲存過程儲存過程
- firedac儲存過程儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- Oracle儲存過程Oracle儲存過程
- Oracle 編譯儲存過程卡死解決方法Oracle編譯儲存過程
- 深入解讀MySQL InnoDB儲存引擎Update語句執行過程MySql儲存引擎
- all許可權使用者無法執行儲存過程儲存過程
- oracle儲存過程和觸發器Oracle儲存過程觸發器
- 今天在linux上用perl連線sqlserver,執行儲存過程,獲取一個結果集LinuxSQLServer儲存過程
- MySQL 儲存過程進行切換表MySql儲存過程
- 一個C#開發編寫Java框架的心路歷程C#Java框架
- 【從0開始編寫webserver·基礎篇#01】為什麼需要執行緒池?寫一個執行緒池吧WebServer執行緒
- 【開發語言】PHP、Java、C語言的編譯執行過程PHPJavaC語言編譯
- Oracle儲存過程編譯卡死的解決方法Oracle儲存過程編譯
- Oracle儲存過程中跳出迴圈的寫法Oracle儲存過程
- MySQL---------儲存過程MySql儲存過程
- 造數儲存過程儲存過程
- linux呼叫儲存過程Linux儲存過程
- Oracle儲存過程-1Oracle儲存過程
- 儲存過程——遊標儲存過程
- Winform呼叫儲存過程ORM儲存過程
- 儲存過程 傳 datatable儲存過程