Oracle使用游标触发器存储实操

如果你在Oracle游标触发器的存储的实际操作中,你对Oracle使用游标触发器的存储过程有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。

我们提供的服务有:网站设计、成都网站设计、微信公众号开发、网站优化、网站认证、阳江ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的阳江网站制作公司

 
 
 
  1. create or replace procedure Pro_rateCalculate as
  2. declare
  3. v_sc_id dim_service_center.sc_id%TYPE;

声明一个临时变量,用来存储维修中心id

v_count3 number; 存储三个月内不合格的数量

v_allcount3 number; 存取三个月内不合格的数量

v_count6 number; 存取时间差,若改值大于0表示是六个月之前的维修中心

 
 
 
  1. v_allcount6 number;
  2. v_datediff number;
  3. v_rate number;
  4. cursor cur_sc_id is
  5. select sc_id from dim_service_center; 

声明一个游标,此游标查出的是维修中心id

 
 
 
  1. begin
  2. open cur_sc_id;
  3. LOOP
  4. FETCH cur_sc_id
  5. INTO v_sc_id;

在Oracle游标触发器的存储过程中我们需要读取一个游标数据到v_sc_id

EXIT WHEN cur_sc_id%NOTFOUND; 如果读到***则退出

select count(*) 计算主表中连续三个月不合格的数据的条数

 
 
 
  1. into v_count3
  2. from dim_service_center
  3. inner join fact_repair_sheet on dim_service_center.sc_id =
  4. fact_repair_sheet.sc_id
  5. inner join fact_vefpart on fact_vefpart.repid =
  6. fact_repair_sheet.repair_sheet_id
  7. where ((fact_vefpart.vef_result1 = '2' 

初核结果为不合格

and fact_vefpart.MAJOR_FLAG = '2') 且不需要进行复核

or (fact_vefpart.vef_result2 = '2')) 或者复核结果为不合格

and fact_vefpart.ismajor = '1' 且是主要备件

and fact_repair_sheet.close_date > Add_months(sysdate, -3)为三个月内的数据

and dim_service_center.sc_id = v_sc_id;

v_allcount3 := v_count3; 把不合格的备件数据的数量赋值给总数量计数器

select count(*) 计算电话回访中连续三个月不合格的数据条数

 
 
 
  1. into v_count3
  2. from fact_verify
  3. inner join fact_repair_sheet on fact_verify.repid =
  4. fact_repair_sheet.repair_sheet_id
  5. inner join dim_service_center on dim_service_center.sc_id =
  6. fact_repair_sheet.sc_id
  7. where fact_verify.

CALLSTATUS = '不合格' 回访不合格

and fact_repair_sheet.close_date > Add_months(sysdate, -3)三个月内

and dim_service_center.sc_id = v_sc_id;

v_allcount3 := v_allcount3 + v_count3; 计算连续三个月总的不合格数量

以上的相关内容就是对Oracle游标触发器的存储过程介绍,望你能有所收获。

网站名称:Oracle使用游标触发器存储实操
网站地址:http://www.mswzjz.com/qtweb/news28/173878.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联