`
- 浏览:
172937 次
-
简化前:
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,然后重启即可 作用.快速搜索项目中的方法
例如,若要读取通道0的电压,只需将`ADC_CHSEL`的第0位置1。 3. **启动转换**:在选择了合适的通道后,通过写入`ADC_CR`寄存器的启动转换位来开始ADC转换。如果配置为单次转换模式,转换完成后,此位会自动清零;在...
标题 "One Source Meter_trigger_trigger_labview_" 暗示了这是一个与LabVIEW相关的项目,具体是为Kethely 26xx系列仪器设计的一个触发功能模块。LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是...
"MaRsi-Trigger"就是这样一个专为MT5设计的独特交易脚本,它结合了移动平均线和相对强弱指数(RSI)的概念,以帮助交易者更好地理解和预测市场动态。 "MaRsi-Trigger"的核心在于其三个状态的识别能力:上升、下降和...
这个函数接受两个参数,第一个是要触发的事件名称,第二个是一个可选的数组,包含了传递给事件处理程序的额外参数。 下面,我们来看一个使用jQuery.event.trigger()函数触发自定义事件的例子。首先,我们通过$...
分布式云数据库复合Trigger新机制是针对现代大数据环境下,如何高效地管理和同步分布式系统中的数据而提出的一种创新方法。传统的数据管理主要集中在应用程序内部的缓存更新,但随着大数据的广泛应用,这种局限性变...
扳机 一个简单但功能强大的事件系统。 特征 有据可查。 零依赖。 简单而强大(所有的想法,没有膨胀)。 ...绑定一个新的命名触发器事件。... 您还可以将参数传递给此函数,这些参数可以在回调方法的第一个参数中访问。
Spring Trigger是Spring框架的一部分,主要用于实现定时任务调度。在Java项目中,我们常常需要执行一些周期性的任务,比如数据同步、日志清理等,这时Spring Trigger就发挥了关键作用。它基于Quartz Scheduler库,...
在DB2中创建触发器是数据库管理中的一个重要环节,它允许在特定的数据库操作(如INSERT、UPDATE或DELETE)执行之前或之后自动运行预定义的SQL语句。本文将详细介绍如何在DB2数据库中创建一个触发器,以及触发器的...
在这个场景下,当我们想在页面加载完毕后自动显示第一个链接对应的效果时,这种方法非常适用。 除了触发标准的浏览器事件之外,trigger()还可以用来触发自定义事件。jQuery允许我们通过bind()方法来绑定一个自定义...
第一种是通过编写自定义的trigger函数来模拟点击事件。示例代码中,定义了一个trigger函数,该函数接受两个参数:ele(事件的目标元素)和event(要触发的事件类型)。这个函数通过调用ele上的事件监听函数来模拟...
在jQuery库中,`trigger`方法是一个非常实用的工具,它允许开发者在DOM元素上模拟各种事件,使得代码更加简洁高效。本文将深入探讨`trigger`方法的核心功能、常见用法以及如何与其他jQuery方法结合使用。 `trigger`...
例如,在地址 0x21f0 处第 1 次写 11010110,第 2 次写 111010,读出结果是这两个值的相与 10010。 因此,如果一个地址处的值不是 0xFF 时写入新的数据是不对的,需要先执行扇区擦除,变为 0xFF。对于单个字节的...
首先,我们来看第一步:创建一个Channel。在SymmetricDS中,`Channel`是一个逻辑概念,它代表了一个数据同步的流程,可以包含一个或多个希望在一个事务中同步的表。创建Channel的SQL语句如下: ```sql INSERT INTO ...
第一章. 企业应用中的作业调度 内容提要:什么是作业调度,作业调度为什么说是重要的,企业应用中的作业调度,非企业应用中的作业调度,作业调度与工作流,关于作业调度其他可选择方案 第二章. Quartz 起步 内容...
例如,尝试为一个学生添加第四门课程,此时触发器应该阻止这种操作,并返回错误消息:“操作错误:每个学生最多只能选择3门课程!”如果一切正常,则证明触发器已经正确地发挥了作用。 ### 五、注意事项 - 在实际...
1. 在XAML中定义一个形状元素(如Ellipse),并为其添加一个旋转变换。 2. 创建一个Storyboard,定义形状元素的旋转动画,设置适当的持续时间和重复次数。 3. 使用EventTrigger或其他触发器来启动和停止动画,比如在...
在这个例子中,我们将构建一个简单的对话系统,用于指导机器人执行四个基本动作:左、右、前、后。当机器人不确定用户的指令时,它会请求用户重复指令。通过使用概率规则,我们可以直观地设计这样一个对话系统。 ...
在这个示例中,Trigger 将每隔 1 秒钟执行一次。 Cron 表达式 Cron 表达式是一个字符串,用于指定 Trigger 的执行频率。Cron 表达式的格式为:秒 分 时 日 月 周 年(可选)。下面是 Cron 表达式的格式说明: * ...