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

数据库 Oracle
如果你在Oracle使用游标触发器的存储过程中存在不解之处时,你不妨浏览下面的文章,希望你能从中获得自己想要的东西。

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

  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游标触发器的存储过程介绍,望你能有所收获。

【编辑推荐】

  1. Oracle 多表关联如何更新多个字段
  2. Oracle表列的修改具体步骤介绍
  3. 开发Oracle存储过程的步骤介绍
  4. Oracle存储过程的开发的介绍
  5. Oracle表列的修改具体步骤介绍
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-26 14:12:23

Oracle使用游标触

2011-05-20 14:06:25

Oracle触发器

2010-04-16 11:11:46

Oracle存储过程

2011-05-19 14:29:49

Oracle触发器语法

2011-04-14 13:54:22

Oracle触发器

2009-11-18 13:15:06

Oracle触发器

2010-05-04 09:44:12

Oracle Trig

2010-04-16 11:22:08

Oracle存储过程

2010-04-16 12:58:48

Oracle sql

2010-04-15 15:32:59

Oracle操作日志

2010-04-30 09:34:24

Oracle多条件查询

2010-04-26 14:03:02

Oracle使用

2010-04-09 13:17:32

2010-04-29 10:48:10

Oracle序列

2010-04-23 12:50:46

Oracle触发器

2010-05-26 17:57:44

MySQL 触发器

2010-05-07 12:07:08

Oracle 多层游标

2010-04-14 10:48:49

Oracle使用

2010-04-12 09:36:29

Oacle merge

2010-05-05 14:55:15

Oracle存储过程
点赞
收藏

51CTO技术栈公众号