1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

以下的文章抓哟讲述的是Oracle使用游标触发器的实际存储过程,文章主要是通过实际应用代码的方式来引出相关实际应用的具体操作方案,以下就是文章的具体内容的描述,望你在浏览之后会有所收获。

createorreplaceprocedurePro_rateCalculateas 
--declare 
v_sc_iddim_service_center.sc_id%TYPE; 

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

v_count3number;

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

v_allcount3number;

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

v_count6number;

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

v_allcount6number; 
v_datediffnumber; 
v_ratenumber; 
cursorcur_sc_idis 
selectsc_idfromdim_service_center; 

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

begin 
opencur_sc_id; 
LOOP 
FETCHcur_sc_id 
INTOv_sc_id; 

读取一个游标数据到v_sc_id

EXITWHENcur_sc_id%NOTFOUND;

如果读到最后则退出

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

intov_count3 
fromdim_service_center 
innerjoinfact_repair_sheetondim_service_center.sc_id= 
fact_repair_sheet.sc_id 
innerjoinfact_vefpartonfact_vefpart.repid= 
fact_repair_sheet.repair_sheet_id 
where((fact_vefpart.vef_result1='2'

初核结果为不合格

andfact_vefpart.MAJOR_FLAG='2')

且不需要进行复核

or(fact_vefpart.vef_result2='2'))

或者复核结果为不合格

andfact_vefpart.ismajor='1'

且是主要备件

andfact_repair_sheet.close_date>Add_months(sysdate,-3)

为三个月内的数据q

anddim_service_center.sc_id=v_sc_id;

把不合格的备件数据的数量赋值给总数量计数器

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

intov_count3 
fromfact_verify 
innerjoinfact_repair_sheetonfact_verify.repid= 
fact_repair_sheet.repair_sheet_id 
innerjoindim_service_centerondim_service_center.sc_id= 
fact_repair_sheet.sc_id 
wherefact_verify. 

CALLSTATUS = ‘不合格’回访不合格

andfact_repair_sheet.close_date>Add_months(sysdate,-3)

三个月内

v_allcount3:=v_allcount3+v_count3;

计算连续三个月总的不合格数量

本文来源:1818IP

本文地址:https://www.1818ip.com/post/11203.html

免责声明:本文由用户上传,如有侵权请联系删除!

发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。