`

trigger

阅读更多

create or replace TRIGGER tiuda_t_car
BEFORE INSERT OR UPDATE OF v_plate_number,v_car_number,v_car_tel,n_userid or delete ON T_CAR 
FOR EACH ROW
/*******************************************************
**  程序类别 : TRIGGER            

**  说明:通过trigger实现数据的更新与插入                     
*******************************************************/
DECLARE
  
  
  
BEGIN
   
--     IF updating  THEN  
--       -- IF nvl(:new.c_isdel,'N')='Y' THEN
--       
--        MERGE INTO center_carinfo a
--        USING(SELECT n_user_id,v_user_email,v_username,v_name,v_nativeplace ,v_tel FROM t_user WHERE n_user_id=:NEW.n_userid) b 
--           ON (a.vehicle_no=:old.v_plate_number)
--           when matched then
--              update
--                 set a.driver_name=b.v_name,
--                     a.tel=b.v_tel,
--                     a.v_carnumber=:new.v_car_number
--            when not matched then
--               insert ( vehicle_no,driver_name,tel,v_carnumber)
--               values(:new.v_plate_number,b.v_name, b.v_tel,:new.v_car_number);
--     end if;   
--
--N_USER_ID, V_USERNAME, V_USER_PWD, V_NAME, C_SEX, V_TEL, V_NATIVEPLACE, V_USER_EMAIL, C_ISADMIN, V_HEAD_IMAGE,
--                   V_DRIVER_ID, V_LICENCE, V_ORG_NAME, D_REG_TIME, V_NAME_ONE, V_NAME_TWO, V_MOBILE_ONE, V_MOBILE_TWO,
--                   V_ADDRESS_ONE, V_ADDRESS_TWO, C_ISDEL, D_DELTIME
    
     IF inserting OR UPDATING THEN
        MERGE INTO center_carinfo a
        USING(SELECT n_user_id,v_user_email,v_name,v_nativeplace ,v_tel,v_driver_id,v_licence,
                     v_org_name,d_reg_time,v_name_one,v_name_two,v_mobile_one,v_mobile_two,v_address_one,v_address_two
                FROM t_user WHERE n_user_id=:NEW.n_userid) b 
           ON (a.vehicle_no=:NEW.v_plate_number)
           when matched then
              update
                 set a.driver_name=b.v_name,
                    a.driver_id=b.v_driver_id,
                    a.licence=b.v_licence,
                    a.org_name=b.v_org_name,
                    a.tel=:NEW.v_car_tel,
                    a.v_carnumber=:new.v_car_number,
                    a.reg_time=b.d_reg_time,
                    a.name_one=b.v_name_one,
                    a.name_two=b.v_name_two,
                    a.mobile_one=b.v_mobile_one,
                    a.mobile_two=b.v_mobile_two,
                    a.address_one=b.v_address_one,
                    a.address_tweo=b.v_address_two
            when not matched then
               insert ( vehicle_no,driver_name,driver_id,licence,a.org_name,tel,v_carnumber,a.reg_time,
                        a.name_one,a.name_two,a.mobile_one,a.mobile_two,a.address_one,a.address_tweo)
               values(:new.v_plate_number,b.v_name,b.v_driver_id,b.v_licence,b.v_org_name,:NEW.v_car_tel,
                      :new.v_car_number,b.d_reg_time,b.v_name_one,b.v_name_two,b.v_mobile_one,b.v_mobile_two,b.v_address_one,b.v_address_two);
     end if;
    
      if deleting then
         raise_application_error(-20008,'此资料不允许删除!');
     end if;            
        null;
END tiuda_t_car;

分享到:
评论

相关推荐

    Go-go-trigger-golang的全局事件触发器

    本文将深入探讨“Go-trigger”,一个专为Golang设计的全局事件触发器库。通过这个库,我们可以方便地注册事件ID,并在项目中的任何位置触发这些事件,从而实现松耦合和模块化的代码结构。 Go-trigger的核心功能在于...

    Parameterized Trigger Plugin 2.25

    Parameterized Trigger Plugin 2.25 hpi

    Oracle Table Form Trigger

    Oracle Table Form Trigger是Oracle数据库应用开发中的重要概念,主要涉及三方面:Oracle表格(Table)、表单(Form)以及触发器(Trigger)。本篇将详细阐述这三个关键元素及其相互关系。 1. Oracle表格(Table)...

    Trigger

    Trigger

    触发器Triggers、MultiTrggers、EventTrigger应用案例

    在这个"触发器Triggers、MultiTrggers、EventTrigger应用案例"中,我们将深入探讨这些概念,并通过实际例子来理解它们的应用。 1. **触发器(Triggers)**:这是最基本的触发器形式,用于响应某个属性的变化。例如,...

    trigger语法经典语法全

    ### Trigger语法详解 #### 一、引言 在数据库领域,触发器(Trigger)是一种特殊类型的存储过程,它被设计用于响应对特定表的数据修改操作(如INSERT、UPDATE或DELETE)。触发器能够在这些操作发生时自动执行,...

    Simple Trigger v2.0

    "Simple Trigger v2.0" 是一款针对Unity3D游戏引擎设计的热门插件,它在游戏开发领域中被广泛使用。Unity3D Asset标签表明这个插件是为Unity3D平台提供的资源或工具,旨在增强游戏开发者的功能集,帮助他们更高效地...

    Android作业框架Trigger.zip

    Trigger 的特性单个作业支持多个条件组合内部条件:充电中\无法检测网络状态\设备空闲支持作业持久化,这意味着可在设备重启时触发支持作业截止时间可根据配置在后台或者主线程中运行作业示例代码:Job job = ...

    Exp_ColorMaRsi-Trigger_Duplex - MetaTrader 5EA.zip

    《MetaTrader 5 EA:Exp_ColorMaRsi-Trigger_Duplex 智能交易系统解析》 在金融交易领域,MetaTrader 5 (MT5) 是一款广泛使用的交易平台,它为交易者提供了丰富的功能,包括图表分析、技术指标、自动化交易等。本文...

    trigger触发器trigger触发器trigger触发器

    create or replace trigger insert_person after insert on person for each row begin insert into person2 values(:new.id,:new.name,:new.password); end; create or replace trigger update_person after ...

    使用JDeveloper开发WEB应用时同时使用Oracle的sequence和trigger

    本篇将重点介绍如何在使用JDeveloper这款强大的集成开发环境(IDE)时,结合Oracle的sequence和trigger来实现高效的数据操作。 首先,让我们理解一下sequence和trigger的概念。在Oracle中,sequence是一种自动递增...

    ajax00009_async_trigger

    这里提到的"ajax00009_async_trigger"是一个自定义的Ajax框架,由作者编写以解决特定问题,即通过Get方式提交请求时由于缓存导致的无反应问题。 首先,让我们了解一下Ajax的基本工作原理。它通过JavaScript创建一个...

    使用 Trigger 紀錄資料表的新增、修改、刪除的行為

    【触发器(Trigger)在数据同步中的应用】 触发器是数据库管理系统中的一种特殊类型的存储过程,主要用于自动响应特定的数据操作语言(DML)事件,如INSERT、UPDATE和DELETE。当这些事件发生时,触发器会自动执行,...

    【脚本】Registering an AFTER SUSPEND Trigger

    标题中的“【脚本】Registering an AFTER SUSPEND Trigger”涉及到的是数据库管理和触发器的使用。在数据库系统中,触发器是一种特殊的存储过程,它会在特定的数据库操作(如INSERT、UPDATE、DELETE)发生时自动执行...

    ALTER TRIGGER_trigger_ALTERTRIGGER_

    数据库触发器样例程序ALTER TRIGGER [dbo].[djh_wt1] ON [dbo].[WT03] FOR INSERTASinsert into djh_wt select yllhdbo.ylmc(yllh) as ylmcjscbzxbmcljzjscwdmczsjchcllb from inserted

    PXI_Star_Trigger_16000X23350_132_135PIN_6U PXI模板

    标题中的“PXI_Star_Trigger_16000X23350_132_135PIN_6U”指的是一个特定的PXI模板,它具有星型触发功能,适用于6U尺寸的PXI机箱。这里的6U是指机箱的高度,是根据欧洲标准定义的,6U相当于100mm的高度。 星型触发...

    Trigger USB转VGA显卡WIN7驱动下载

    USB2.0 Graphics Card(Trigger UV-158FB-128芯片)USB转显卡的驱动 支持硬件ID:USB\VID_0711&PID;_5001 系统要求: 奔腾4处理器1.5G以上,至少256MB内存、USB2.0接口,WINDOWS2000/XP/VISTA操作系统。

    Trigger word detection - v1

    Trigger word detection - v1 最后一个编程作业,终于完成了

    Squence及trigger建立及删除的程序包

    Squence及trigger建立及删除程序包

    sql server TRIGGER与逻辑表INSTERED 和 DELETED

    SQL Server Trigger(触发器)是一种特殊的存储过程,它会在满足特定条件下自动执行。触发器可以用于保证数据的完整性,审计跟踪,以及自动执行一系列的数据操作。在SQL Server中,触发器分为两大类:DML触发器和DDL...

Global site tag (gtag.js) - Google Analytics