`
- 浏览:
169226 次
-
简化前:
sql 代码
- Create Or Replace Trigger tr_cust_order
- AFTER UPDATE
- ON te_cust_order
- FOR EACH ROW
- WHEN (NEW.status=6)
- DECLARE
- exhok NUMBER;
- exhid NUMBER;
- regok NUMBER;
- seqexh NUMBER;
- sql_stat varchar2(200);
- BEGIN
-
-
- DECLARE
- CURSOR emp_cursor IS
- SELECT service_item_id FROM te_cust_order
- WHERE service_item_id IN
- (SELECT t.id FROM te_cust_service_item t WHERE t.service_type_id IN (2,3,4) );
- emp_record emp_cursor%ROWTYPE;
- BEGIN
- OPEN emp_cursor;
- LOOP
- FETCH emp_cursor INTO emp_record;
- exit when emp_cursor%NOTFOUND;
- if emp_record.service_item_id = :old.SERVICE_ITEM_ID then
- exhok := 1;
- end if;
- END LOOP;
- CLOSE emp_cursor;
- END;
-
- if exhok != 1 then
- return;
- end if;
-
-
- exhid := 0;
- DECLARE
- CURSOR exh_cursor IS
- SELECT exh_id FROM te_exh_order
- WHERE order_no = :new.order_no;
- exh_record exh_cursor%ROWTYPE;
- BEGIN
- OPEN exh_cursor;
- LOOP
- FETCH exh_cursor INTO exh_record;
- exit when exh_cursor%NOTFOUND;
- exhid := exh_record.exh_id ;
- END LOOP;
- CLOSE exh_cursor;
- END;
-
- if exhid < 1 then
- return;
- end if;
-
-
- regok := 0;
- SELECT count(*) INTO regok FROM teexhibitiontomember
- WHERE EXHIBITIONID = exhid and CUSTOMERNO = :new.CUSTOMER_NO;
- if regok >0 then
- return;
- end if;
-
-
- select teexhibitionmemberseq.nextval into seqexh
- from teexhibitiontomember t where rownum = 1;
-
- sql_stat := 'insert into teexhibitiontomember(ID,MEMBERID,EXHIBITIONID,CUSTOMERNO) values ('
- || seqexh || ',0,' ||exhid||','''|| :new.CUSTOMER_NO||''')';
-
- execute immediate sql_stat;
-
-
- END tr_cust_order;
简化后:
sql 代码
- /*==============================================================*/
- /* Trigger: tr_cust_order */
- /*==============================================================*/
-
- Create Or Replace Trigger tr_cust_order
- AFTER UPDATE ON te_cust_order
- FOR EACH ROW
- WHEN (NEW.status = 6)
- DECLARE
- exhid NUMBER;
- regok NUMBER;
- seqexh NUMBER;
- sql_stat varchar2(200);
- BEGIN
-
-
- SELECT exh_id
- into exhid
- FROM te_exh_order
- WHERE order_no = :new.order_no;
-
- if exhid < 1 then
- return;
- end if;
-
-
- regok := 0;
- SELECT count(*)
- INTO regok
- FROM teexhibitiontomember
- WHERE EXHIBITIONID = exhid
- and CUSTOMERNO = :new.CUSTOMER_NO;
- if regok > 0 then
- return;
- end if;
-
-
- select teexhibitionmemberseq.nextval into seqexh from dual;
-
- sql_stat := 'insert into teexhibitiontomember(ID,MEMBERID,EXHIBITIONID,CUSTOMERNO) values (' ||
- seqexh || ',0,' || exhid || ',''' || :new.CUSTOMER_NO ||
- ''')';
-
- execute immediate sql_stat;
-
- END tr_cust_order;
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
快速搜素代码文件 第一.将此文件导入eclipse,然后重启即可 作用.快速搜索项目中的方法
上传两本Oracle的trigger的学习资料(本人的学习参考书)。 详解Oracle中的trigger(中文版,PDF格式),包括DML触发器,替代触发器,系统触发器以及变异表等,含代码。 确实是本Oracle trigger的好书。...这是第一本。
触发器的概念和第一个触发器 数据库触发器是一个与表相关联的,存储的PL/SQL 语句。 每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。 举个简单的...
的行,在专我学家会习那从之样每前与一也您个许进细大行节家对开会话始认,慢为用这简的个单为用的大例问家很题建难、,立例新但概子特是念让性,只你丛最要学书后跟到的会着需第给课要一大程的集家去知。...
扳机 一个简单但功能强大的事件系统。 特征 有据可查。 零依赖。 简单而强大(所有的想法,没有膨胀)。 ...绑定一个新的命名触发器事件。... 您还可以将参数传递给此函数,这些参数可以在回调方法的第一个参数中访问。
在DB2中创建第一个触发器
第一章. 企业应用中的作业调度 内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案 第二章. Quartz 起步 内容...
第三节:实现第一个可漫游场景与理解Quest3d程序运行规律 第四节:常用编程模块的学习(if、trigger、switch……) 第五节:声音与视频的控制 第六节:在Quest3d中实现动画 第七节:在Quest3d中制作GUI(操作界面) ...
例1: 建立一个触发器, 当职工表 emp 表被删除一条记录时,把被删除记录写到职工表删除日志表中去。 CREATE TABLE emp_his AS SELECT * FROM EMP WHERE 1=2; CREATE OR REPLACE TRIGGER del_emp BEFORE DELETE ON ...
M2X 采样触发应用 这个小的应用程序旨在展示一种在触发数据源触发器时执行操作的简单方法,在这种情况下,通过 API 发送电子邮件... 创建您的第一个 将流添加到您的设备 将触发器添加到您的设备流并将回调 URL 指向您的
对当今最流行的游戏形式之一:视频游戏,有史以来第一次具有学术价值和深刻影响的评论。
当想要从 CircleCi 迁移到 Github 操作并且您想要逐步执行此操作时(例如,在 github 操作中运行第一个作业,然后触发第二个作业),这会很有用。 默认值适用于大多数情况。 但是org 、 repo和branch也很有用。输入...
---- 第一章 PL/SQL 简介 ---- ---- 第二章 PL/SQL程序结构 ---- ---- 第三章 变量与数据类型 ---- ---- 第四章 PL/SQL控制语句 ---- ---- 第五章 PL/SQL游标 ---- ---- 第六章 HANDLE EXCEPTION ---- ---- 第七章...
照片小工具、高速照片拍摄... 触发器: - Photo Trigger 1.x(2x555 芯片) - Photoduino 2.x mod - CameraAxe 3.0.0.4 mod - 电子控制器阀门 - 照片同步器(第一次和第二次抽吸) - 照片桥(照片门) Photoduino ...
例如: 1. $(“#txt”).trigger(“click”);...2. $(“.aaa .bbb”).eq(0)...以上这篇jQuery第一次运行页面默认触发点击事件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
可以选择是否从名称第一个字母开始匹配,是否注意大小写,该函数的返回类型或变量、常量的类型。搜索按钮将自动在所有函数/变量常量/类型中查找。按回车或者空格会将当前词汇添加到下拉菜单中。单击其中条目,下面的...
--计算有多少种产品(假设为x),然后显示一条信息:共有X种产品 DECLARE @X int SET @X =(SELECT COUNT (*) FROM Product ) PRINT '共有'+convert (char(2),@x)+'种产品。' GO --编写计算n!(n=20)的程序,并...
只有一个Triggers.cls类及其相应的测试类TriggersTest.cls ,其最小和简单的。版本1.1.3 对重大更改:现在,所有filterChanged()方法都返回List<Id> ,而不是Set<Id> 。 这是因为List具有更广泛的用例,它不仅可以在...
你的第一个查询 33 总结 37 问与答 38 校练场 38 练习 39 第三天表达式条件语句与运算 40 第四天函数对数据的进一步处理 60 目标 60 汇总函数 60 COUNT61 SUM 61 AVG 63 MAX 63 MIN 64 VARIANCE65 STDDEV66 日期/...
在这个目录下的其它*.sql文件,则是第12章所介绍的Trigger,也就是进销存管理系统这个数据库有使用到的Trigger文件。 4、光盘内所有的范例程序,它们所连上的数据库主机,都是以单机为主。也就是说,应用程序与...