`

oralce 触发器例子

 
阅读更多
create or replace trigger TRIG_UPDATE_WORK_GROUP_DETAIL
       --迁入时间,迁出时间,备注
  after update of SIGN_IN_TIME,SIGN_OFF_TIME,REMARK
  on OM_WORK_GROUP_DETAIL  
  for each row
declare
  -- local variables here
begin
  
   if nvl(:new.SIGN_IN_TIME,trunc(sysdate))<>nvl(:old.SIGN_IN_TIME,trunc(sysdate)) then
     insert into OM_SYS_MODIFY_LOG(id,createtime,Source_Id,Business_Code,Operation_Date,OPERATION_TYPE,FIELD_CODE,FIELD_NAME,MODIFY_PRE_VALUE,MODIFY_BACK_VALUE,
                               MODIFIER_NAME,MODIFY_OPTLOCK,MODIFY_TABLE_NAME)
                          VALUES(OM_SYS_MODIFY_LOG_SEQ.NEXTVAL,SYSDATE,:NEW.ID,:NEW.WORK_GROUP_CODE||'_'||:NEW.EMPLOYEE_NUM,SYSDATE,'UPDATE','SIGN_IN_TIME','迁入时间',to_char(:old.SIGN_IN_TIME,'yyyy-MM-dd HH24:mi:ss'),to_char(:new.SIGN_IN_TIME,'yyyy-MM-dd HH24:mi:ss'),
                          :new.LAST_UPDATOR_NAME,:new.LOCK_VERSION,'OM_WORK_GROUP_DETAIL');
    end if;
     if nvl(:new.SIGN_OFF_TIME,trunc(sysdate))<>nvl(:old.SIGN_OFF_TIME,trunc(sysdate)) then
     insert into OM_SYS_MODIFY_LOG(id,createtime,Source_Id,Business_Code,Operation_Date,OPERATION_TYPE,FIELD_CODE,FIELD_NAME,MODIFY_PRE_VALUE,MODIFY_BACK_VALUE,
                               MODIFIER_NAME,MODIFY_OPTLOCK,MODIFY_TABLE_NAME)
                          VALUES(OM_SYS_MODIFY_LOG_SEQ.NEXTVAL,SYSDATE,:NEW.ID,:NEW.WORK_GROUP_CODE||'_'||:NEW.EMPLOYEE_NUM,SYSDATE,'UPDATE','SIGN_OFF_TIME','迁出时间',to_char(:old.SIGN_OFF_TIME,'yyyy-MM-dd HH24:mi:ss'),to_char(:new.SIGN_OFF_TIME,'yyyy-MM-dd HH24:mi:ss'),
                          :new.LAST_UPDATOR_NAME,:new.LOCK_VERSION,'OM_WORK_GROUP_DETAIL');
    end if;
    if nvl(:new.REMARK,'*^$@!#%&')<>nvl(:old.REMARK,'*^$@!#%&') then
     insert into OM_SYS_MODIFY_LOG(id,createtime,Source_Id,Business_Code,Operation_Date,OPERATION_TYPE,FIELD_CODE,FIELD_NAME,MODIFY_PRE_VALUE,MODIFY_BACK_VALUE,
                               MODIFIER_NAME,MODIFY_OPTLOCK,MODIFY_TABLE_NAME)
                          VALUES(OM_SYS_MODIFY_LOG_SEQ.NEXTVAL,SYSDATE,:NEW.ID,:NEW.WORK_GROUP_CODE||'_'||:NEW.EMPLOYEE_NUM,SYSDATE,'UPDATE','REMARK','备注',:old.REMARK,:new.REMARK,
                          :new.LAST_UPDATOR_NAME,:new.LOCK_VERSION,'OM_WORK_GROUP_DETAIL');
    end if;
  
end TRIG_UPDATE_WORK_GROUP_DETAIL;

 

分享到:
评论

相关推荐

    oracle中记录用户登录信息的触发器的例子

    oracle中记录用户登录信息的触发器的例子,有具体操作过程,包括错误信息及解释,这个例子是自己为某企业的oracle安全管理的具体例子

    oracle触发器调用存储过程

    oracle触发器调用存储过程,最简单的例子适用于初学者

    oracle创建触发器实例

    很详细的oracle创建触发器的例子

    oracle函数触发器游标等几个小例子

    这些例子是我自己也是在学习的时候写的。。希望与同水平的人有用。

    oracle监控某表变动触发器例子(监控增,删,改)

    使用oracle触发器 实现对某个表的增改删的监控操作,并记录到另一个表中。 代码: 代码如下:create or replace trigger test_trigger before insert or update or delete on test_table for each row declare v_...

    一个DDL触发器例子(阻止DDL并记警告日志)

    有时我们需要控制用户对表执行DDL操作,包括truncate等操作。为了达到灵活控制的目的,我们使用了DDL trigger

    存储过程、触发器、定时器例子(oracle)

    里面包括oracle的存储过程、触发器、定时器例子。 含有注释说明

    如何写触发器只要练习这些简单例子

    数据库中的触发器,从简单到复杂,只需急着这些例子,从浅入深学习

    存储过程与触发器例子

    自己总结的一个关于存储过程与触发器的学习例子,希望对你有点用处。。。

    Oracle触发器trigger详解

    每当一个特定的数据操作语句(insert update delete)在指定的表上发出时,Oracle自动执行触发器中定义的语句序列。 举个简单的例子: 当员工表中新增一条记录后,自动打印“成功插入新员工” create or replace ...

    oracle 触发器 实现出入库

    用触发器实现 好处: 1、可以使程序员从复杂的相互关联中解放出来,把精力放在复杂的业务上。 坏处: 1、可移植性差。 下面我就用一个例子实现一个简单的出入库。因为是例子表中所用到的字段很少。这里的例子只做为...

    oracle综合例子

    oracle体系结构 表(五大约束) 范式 安全管理 SQL语句的优化 查询数据 维护数据 事务控制 SQL函数 PL/SQL语言的简介 程序结构 流程控制 异常处理 过程与函数 游标 程序包 触发器

    [Oracle] 如何使用触发器实现IP限制用户登录

    下面是一个触发器的例子: 代码如下:create or replace trigger logon_ip_controlafter logon on databasedeclare ip STRING(30); user STRING(30);beginSELECT SYS_CONTEXT(‘USERENV’,’SESSION_USER’) into ...

    Oracle使用触发器和mysql中使用触发器的案例比较

    一、触发器  1.触发器在数据库里以独立的对象存储,  2.触发器不需要调用,它由一个事件来触发运行 ...二、Oracle 使用 PL/SQL 编写触发器 1.–PL/SQL创建触发器的一般语法 create [or replace] trigger trigg

    spring之quartz例子

    spring之quartz例子,与oracle整合,不过spring中的MethodInvokingJobDetailFactoryBean方法在存数据库时序列化有bug,在本例子中,使用了修复后的MethodInvokingJobDetailFactoryBean方法,避免了因序列化而报错。

    超详细Oracle教程 115页讲解以及例子

    超详细Oracle教程 115页讲解以及例子 Oracle的管理技术,由实验1~实验6组成,包括数据库管理、角色和用户管理、表和视图管理、索引和序列管理、PL/SQL编程、以及使用游标、存储过程和触发器等内容 很全

    oracle培训教程ppt

    2.给出作者在应用设计和开发中的一些具体的例子,为软件人员提供一些借鉴,省去查阅大量资料的时间。3.给出了许多资料所没有提供的一些使用技巧,如导出触发器等。总之,内容基本上包括当前Oracle8I的最新内容。同时...

    Oracle8i/9i数据库基础

    2.给出作者在应用设计和开发中的一些具体的例子,为软件人员提供一些借鉴,省去查阅大量资料的时间。3.给出了许多资料所没有提供的一些使用技巧,如导出触发器等。总之,内容基本上包括当前Oracle8I的最新内容。同时...

Global site tag (gtag.js) - Google Analytics