Oracle使用游標(biāo)觸發(fā)器的實(shí)際存儲(chǔ)過程
以下的文章抓喲講述的是Oracle使用游標(biāo)觸發(fā)器的實(shí)際存儲(chǔ)過程,文章主要是通過實(shí)際應(yīng)用代碼的方式來引出相關(guān)實(shí)際應(yīng)用的具體操作方案,以下就是文章的具體內(nèi)容的描述,望你在瀏覽之后會(huì)有所收獲。
- create or replace procedure Pro_rateCalculate as
 - --declare
 - v_sc_id dim_service_center.sc_id%TYPE;
 
聲明一個(gè)臨時(shí)變量,用來存儲(chǔ)維修中心id
- v_count3 number;
 
存儲(chǔ)三個(gè)月內(nèi)不合格的數(shù)量
- v_allcount3 number;
 
存取三個(gè)月內(nèi)不合格的數(shù)量
- v_count6 number;
 
存取時(shí)間差,若改值大于0表示是六個(gè)月之前的維修中心
- v_allcount6 number;
 - v_datediff number;
 - v_rate number;
 - cursor cur_sc_id is
 - select sc_id from dim_service_center;
 
聲明一個(gè)游標(biāo),此游標(biāo)查出的是維修中心id
- begin
 - open cur_sc_id;
 - LOOP
 - FETCH cur_sc_id
 - INTO v_sc_id;
 
讀取一個(gè)游標(biāo)數(shù)據(jù)到v_sc_id
- EXIT WHEN cur_sc_id%NOTFOUND;
 
如果讀到最后則退出
select count(*)計(jì)算主表中連續(xù)三個(gè)月不合格的數(shù)據(jù)的條數(shù)
- into v_count3
 - from dim_service_center
 - inner join fact_repair_sheet on dim_service_center.sc_id =
 - fact_repair_sheet.sc_id
 - inner join fact_vefpart on fact_vefpart.repid =
 - fact_repair_sheet.repair_sheet_id
 - where ((fact_vefpart.vef_result1 = '2'
 
初核結(jié)果為不合格
- and fact_vefpart.MAJOR_FLAG = '2')
 
且不需要進(jìn)行復(fù)核
- or (fact_vefpart.vef_result2 = '2'))
 
或者復(fù)核結(jié)果為不合格
- and fact_vefpart.ismajor = '1'
 
且是主要備件
- and fact_repair_sheet.close_date > Add_months(sysdate, -3)
 
為三個(gè)月內(nèi)的數(shù)據(jù)q
- and dim_service_center.sc_id = v_sc_id;
 
把不合格的備件數(shù)據(jù)的數(shù)量賦值給總數(shù)量計(jì)數(shù)器
select count(*)計(jì)算電話回訪中連續(xù)三個(gè)月不合格的數(shù)據(jù)條數(shù)
- into v_count3
 - from fact_verify
 - inner join fact_repair_sheet on fact_verify.repid =
 - fact_repair_sheet.repair_sheet_id
 - inner join dim_service_center on dim_service_center.sc_id =
 - fact_repair_sheet.sc_id
 - where fact_verify.
 
CALLSTATUS = '不合格'回訪不合格
- and fact_repair_sheet.close_date > Add_months(sysdate, -3)
 
三個(gè)月內(nèi)
- v_allcount3 := v_allcount3 + v_count3;
 
計(jì)算連續(xù)三個(gè)月總的不合格數(shù)量
上述的相關(guān)內(nèi)容就是對(duì)Oracle使用游標(biāo)觸發(fā)器的存儲(chǔ)過程的描述,希望會(huì)給你帶來一些幫助在此方面。
【編輯推薦】















 
 
 

 
 
 
 