oracle触发器中保存临时数据,Oracle使用游标触发器存储实操
如果你在Oracle游标触发器的存储的实际操作中,你对Oracle使用游标触发器的存储过程有不解之处时,你可以通过以下的文章对其的实际应用与功能有所了解,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。
create or replace procedure Pro_rateCalculate as
declare
v_sc_id dim_service_center.sc_id%TYPE;
声明一个临时变量,用来存储维修中心id
v_count3 number; 存储三个月内不合格的数量
v_allcount3 number; 存取三个月内不合格的数量
v_count6 number; 存取时间差,若改值大于0表示是六个月之前的维修中心
v_allcount6 number;
v_datediff number;
v_rate number;
cursor cur_sc_id is
select sc_id from dim_service_center;
声明一个游标,此游标查出的是维修中心id
begin
open cur_sc_id;
LOOP
FETCH cur_sc_id
INTO v_sc_id;
在Oracle游标触发器的存储过程中我们需要读取一个游标数据到v_sc_id
EXIT WHEN cur_sc_id%NOTFOUND; 如果读到***则退出
select count(*) 计算主表中连续三个月不合格的数据的条数
into v_count3
from dim_service_center
inner join fact_repair_sheet ondim_service_center.sc_id=
fact_repair_sheet.sc_id
inner join fact_vefpart onfact_vefpart.repid=
fact_repair_sheet.repair_sheet_id
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(*) 计算电话回访中连续三个月不合格的数据条数
into v_count3
from fact_verify
inner join fact_repair_sheet onfact_verify.repid=
fact_repair_sheet.repair_sheet_id
inner join dim_service_center ondim_service_center.sc_id=
fact_repair_sheet.sc_id
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游标触发器的存储过程介绍,望你能有所收获。
【编辑推荐】
【责任编辑:孙巧华 TEL:(010)68476606】
点赞 0
oracle触发器中保存临时数据,Oracle使用游标触发器存储实操相关推荐
- oracle中before,oracle触发器before和after数据区别
oracle触发器中,一旦数据被插入了,不能使用after insert去更改已经插入的,已经存在,更改会使触发器不执行. 如果想将查询出来的数据插入到数据库中,应该先拼接好,然后before命令会将 ...
- oracle触发器 select into,Oracle触发器中selectinto报错no_data_found异常处理
Oracle触发器中select into 报错no_data_found异常处理 红色部分为对查询不到数据异常的处理 create or replace trigger TIG_MONITOR_AL ...
- oracle 数据 导出 excel 自动分多个文件,从oracle数据库中导出大量数据到excel中为什么自动分成了好几个excel文件《excel表格新手入门》...
EXCEL中一个单元格中多行文本如何导入或复制到SQL SERVER 数据库表中? 保留换行符保存进数据表啊,读取出来显示的时候根据需要进行转换就行了,比如要在网页上显示,可以把换行符转换成HTML的 ...
- oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例
天萃荷净 触发器实现指定用户登录oracle,分享一篇关于Oracle数据库安全策略,通过Oracle触发器实现限定user用户登录Oracle数据库的方法 1.创建允许登录用户表 CREATE TA ...
- php checkbox 保存,PHP中在数据库中保存Checkbox数据
PHP中在数据库中保存Checkbox数据 /* if we passed in an array of the checkboxes we want to be displayed as check ...
- 图解大数据 | Hive搭建与应用@实操案例
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/84 本文地址:http://www.showmeai.tech/article-det ...
- oracle触发器中的after insert后继续触发,oracle触发器使用:after insert 与before insert的简单使用注意...
创建触发器时,触发器类型为after insert , 在begin中 Select fieldA into v_a from tableA; 执行到此句时,会出错: --弹出错误信息提示 --ORA ...
- oracle blob update,Oracle数据库中对BLOB数据的操作问题
[TechTarget中国原创]问:请问在Oracle数据库中,如何插入并检索二进制大对象数据(BLOB)? 答:我建议在处理大对象数据之前,先阅读一下"Oracle应用开发者指南" ...
- Oracle数据库中对误删数据的快速恢复
如果一不小心对Oracle数据库中的数据进行了误删除操作,那么如何进行数据恢复呢(不考虑全库备份和利用归档日志)?如果使用的是9i以及之后的版本,那么我们可以采用闪回技术对误删除的数据进行恢复.方式有 ...
最新文章
- VTK:超流线用法实战
- depcomp: line 571: exec: g++: not found
- 实现生成小学四则运算练习题
- php数组排序综合例子,php数组实例之数组排序
- PP视频怎么把输出声音设置成单声道输出
- as5 samba 图形配置
- elasticsearch监控平台cerebro-0.8.3 相关操作
- 2021-09-08推荐系统,巧妇难为无米之炊,我首先需要历史数据
- android 字体显示框架,资源样式 - 主题 - 《XUI - Android 原生 UI 框架》 - 书栈网 · BookStack...
- vi修改文件格式编码(从dos改为unix)
- response返回中文乱码
- html5网页录音插件Recorder
- 从制造到智造,用友U9 cloud2022成为制造业专精特新高效增长新引擎
- 怎么知道是否已经被好友删了微信?
- python 内置函数、匿名函数
- 用户登录和注册界面的实现
- 2020上半年主要国产OA厂商业绩
- 5. 第五阶段 测试开发技术 - JAVA
- 修复win+v无法弹出剪贴板的问题
- 企业邮箱申请流程注意哪些方面?
热门文章
- SAP ui5 sap.ui.getCore().getUIArea
- 一步步使SSH连接您的github仓库
- How to put S4 extension field to CRM WebUI search view in the design time
- 什么是CRM中间件的1250事件
- Mockito框架学习之stub then return
- 推荐一个Chrome扩展应用,能够自动去除CSDN广告
- fiddler抓包工具简介
- 计算机网络wfq,计算机网络基础试题-a卷-信科09.doc
- lucky前面加a还是an_lucky的用法
- leetcode|第三大的数java题解