一个很好的触发器例子(case when)

CREATE OR REPLACE TRIGGER TR_CGD1
BEFORE UPDATE OR INSERT OR DELETE ON BB_MJ_CGD1_TB
FOR EACH ROW
DECLARE

V_COUNT NUMBER;
BEGIN
CASE
WHEN UPDATING OR INSERTING THEN
IF :NEW.DJZT = ‘结束‘ THEN
:NEW.DJZT := ‘结束‘;
ELSE
SELECT COUNT(*)
INTO V_COUNT
FROM BB_MJ_KCRKD2_TB RKD2
WHERE CGD2ID IN
(SELECT ID FROM BB_MJ_CGD2_TB WHERE CGD1ID = :NEW.ID);
END IF;
WHEN DELETING THEN
SELECT COUNT(*)
INTO V_COUNT
FROM BB_MJ_KCRKD2_TB RKD2
WHERE CGD2ID IN
(SELECT ID FROM BB_MJ_CGD2_TB WHERE CGD1ID = :OLD.ID);
END CASE;
IF V_COUNT > 0 THEN
RAISE_APPLICATION_ERROR(-20002, ‘订单已入库,不可修改‘);
END IF;
END;

时间: 2024-10-15 14:29:26

一个很好的触发器例子(case when)的相关文章

一个很小的C++写的MVC的例子

#include<iostream> #include<vector> //get namespace related stuff using std::cin; using std::cout; using std::endl; using std::flush; using std::string; using std::vector; //struct Observer, modeled after java.utils.Observer struct Observer /*

一个很不错的bash脚本编写教程

转自 http://blog.chinaunix.net/uid-20328094-id-95121.html 一个很不错的bash脚本编写教程,至少没接触过BASH的也能看懂! 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其

触发器例子

例子 : https://www.zabbix.com/documentation/3.4/zh/manual/config/triggers/expression  #官网 触发器名称:Processor load is too high on host{host:system.cpu.load[all,avg1].last(0)}>5触发器说明:host:host名称system.cpu.load[all,avg1]:item值,一分内cpu平均负载值last(0):最新值>5:最新值大于

第一次作业:假装这里有一个很响亮的标题

---恢复内容开始--- 一.结缘计算机 缘分可以说是一个很奇妙的东西,喜欢一件事物往往从对它的美好幻想开始.相信许多人想到计算机都会将它与玩游戏联系在一起,对于我却不然,在我看来编程是一个创造的过程--这就是我对于计算机最初的美好幻想.试想通过编写一些代码便能够实现自己心中所想,这难道不是一件令人兴奋的事吗?它执行你的指令,完成你的任务,实现你的想法,这在当时是对我非常有吸引力的,于是我第一志愿便填报了计算机专业. 你认为你的条件如何?其实我并不知道这个问题应该如何回答,物质条件?素质方面?条

为何很大的浮点大数加一个很小的数计算结果不是预期

通常浮点数被表示成N=S*rj S称为尾数,可正可负,j称为阶码可正可负.r是基数,在计算机中取以2的倍数. 计算机中为了提高精度,进行规格化操作:即假设N=11.0101  则规格化表示为N=0.110101*210表示,因为该规格化使得浮点数的表示精度最高. 机器中浮点数由两部分组成:阶码和尾数.基数为2 阶码由阶符跟阶码组成,尾数由数符跟尾数组成 其中阶码是整数,阶符和阶码的位数m合起来反映浮点数的表示范围及小数点的实际位数.尾数是小数,其位数反映了浮点数的精度. 还有机器零这个概念:即浮

我的2015测试之路 ——做一个很有想法的测试

我的2015测试之路 ——做一个很有想法的测试 不记得有多少次了,总是说等什么时候闲了,就回过头看看这一路跋涉.风尘仆仆的自己.可每次都只是想想而已,即使真的闲下来了,却又不太愿意剥开自己的心,怕看了会伤感.又怕看了会觉得失望,可能是我没有成为,当初那个我想要成为的样子吧.是该对自己说一句对不起了.对不起,我深爱的自己! 人们总是在歌谣里哀求时光慢些,不要再让亲人变老了.但它总也是不听话,于是2015年终究是被推进了历史.现在我们只能在回忆和指尖怀念2015了,诚然,2015对我们每个人来说都是

用R语言实现一个求导的简单例子

在学习导数的时候,老师都会这样解释,假设y=f(x),对点(x0,y0)的求导过程如下:设dx是一个很小的数=> y0+dy=f(x0+dx)=> dy=f(x0+dx)-y0则在这一点的导数a=dy/dx这样假设的前提是dx很小,所以x0至(x0+dx)很短,可以近似为一条直线,则dy/dx可以看成是点(x0,y0)和点(x0+dx,y0+dy)连成直线的斜率因此关于某个点的导数,其意义也可以解释成在该点的变化率 下面用R语言实现一个简单例子:假设:y=1/x,求点(1,1)的导数 x<

[搬家from qzone] 我不是一个很好的学长,所以毕业前,给学习学妹们写写自己犯的错误吧

本人刚刚毕业,晚上的的时候听mm扯南操上的猥琐男传闻.额.....忍不住蛋碎一地,于是乎想想自己从刚大一走到现在遇到的各种各种,现在还是写下来,算是给学弟学妹以及还没入校的学弟学妹们留点东西吧.算是跟大家扯扯前面有多少坑,努力少掉下去几回,嗯.当然,有的坑,很有可能掉下去就...嗯,我们班目前:一个把自己扔进西湖再也没出来,一个吃了八片药然后被救起来了,劝退一个,挂到退学两个,留级退学一个,留级没退学的还两个.现在想想我还安全的毕业了,还是很欣慰的~ 想必所有人在大一都热血沸腾过,都用好奇的眼光

WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]

原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇] 在<上篇>中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭.对于<WCF技术剖析(卷1)>的读者,应该会知道在第7章中我通过类似于AOP的方式解决了相似的问题,现在我们来讨论这个解决方案. 通过<服务代理不能得到及时关闭会有什么后果?>的介绍,我们知道了及时关闭服务代理的重要意义,并且给出了正确的编程方式.如果严格按照上面的编程方式,就意味着对于每一个服务调用,都要