Oracle学习札记[1]触发器

摘要:
Oracle触发器案例代码:ViewCodeCREATEORREPLACETRIGGERISOK_ UPDATE_ HISTORYBEFOREUPDATEONTECH_ RTDB_ POSITION_ TFOREACHROWDECLARE--localvariablehere_ WHMSVARCHAR2(1000);--标签号t_ ZZDMVARCHAR2(40)的描述;——设备代码t_ ZZMCVARCHAR

 Oracle触发器案例代码:

Oracle学习札记[1]触发器第1张Oracle学习札记[1]触发器第2张View Code
 
CREATE OR REPLACE TRIGGER ISOK_UPDATE_HISTORY
  BEFORE UPDATE
  ON TECH_RTDB_POSITION_T
  FOR EACH ROW
  
DECLARE
    -- local variables here
    t_WHMS   VARCHAR2(1000); --位号的描述
    t_ZZDM   VARCHAR2(40); --装置代码
    t_ZZMC   VARCHAR2(200); --装置名称
    t_DXZ    VARCHAR2(200); --低限值
    t_GXZ    VARCHAR2(200); --高限值
    t_D_DOWN VARCHAR2(200); --合理范围下限
    t_D_UP   VARCHAR2(200); --合理范围上限
    t_DW   VARCHAR2(40); --单位
    t_ISUSE  VARCHAR2(200); --是否启用
    t_DESCRIPTION  VARCHAR2(2000); --描述
  
BEGIN
  
      IF :OLD.WHMS<>:NEW.WHMS THEN
       t_WHMS:='位号名称更新为:'||:NEW.WHMS||';';       
    END IF
    
      IF :OLD.ZZDM<>:NEW.ZZDM THEN
       t_ZZDM:='装置代码更新为:'||:NEW.ZZDM||';';       
    END IF
     
      IF :OLD.ZZMC<>:NEW.ZZMC THEN
       t_ZZMC:='装置名称更新为:'||:NEW.ZZMC||';';       
    END IF;
    
       IF :OLD.DXZ<>:NEW.DXZ THEN
       t_DXZ:='低限值更新为:'||to_char(:NEW.DXZ)||';';       
    END IF;
    
       IF :OLD.GXZ<>:NEW.GXZ THEN
       t_GXZ:='高限值更新为:'||to_char(:NEW.GXZ)||';';       
    END IF;
    
       IF :OLD.D_DOWN<>:NEW.D_DOWN THEN
       t_D_DOWN:='合理范围下限更新为:'||to_char(:NEW.D_DOWN)||';';     
    END IF;
    
       IF :OLD.D_UP<>:NEW.D_UP THEN
       t_D_UP:='合理范围上限更新为:'||to_char(:NEW.D_UP)||';';      
    END IF;
    
       IF :OLD.DW<>:NEW.DW THEN
       t_DW:='单位更新为:'||:NEW.DW||';';      
    END IF;
    
    IF :OLD.ISUSE<>:NEW.ISUSE THEN
       t_ISUSE:='是否启用:'||to_char(:NEW.ISUSE)||';';     
    END IF;
    
    t_DESCRIPTION:=t_WHMS||t_ZZDM||t_ZZMC||t_DXZ||t_GXZ||t_D_DOWN||t_D_UP||t_DW||t_ISUSE;
    
    INSERT INTO HISTORY_TECH_RTDB_POSITION_T(HISTORY_ID,INFO_ID,DESCRIPTION)
          VALUES(SEQ_HISTORY_ID.NEXTVAL,:OLD.BM,t_DESCRIPTION);
END;

免责声明:文章转载自《Oracle学习札记[1]触发器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇编译lua动态库我的北漂生活:我来北京一个月了下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Clock Skew , Clock Uncertainty和 Period

本文将介绍FPGA中和时钟有关的相关概念,阅读本文前需要对时序收敛的基本概念和建立、保持关系有一定了解,这些内容可以在时序收敛:基本概念,建立时间和保持时间(setup time 和 hold time)中找到。 系列目录      时序收敛:基本概念     建立时间和保持时间(setup time 和 hold time)     OFFSET约束(...

zabbix触发器表达式

zabbix触发器表达式 触发器使用逻辑表达式来评估通过item获取的数据是处于哪种状态, 触发器中的表达式使用很灵活,我们可以创建一个复杂的逻辑测试监控,触发器表达式形式如下: {<server>:<key>.<function>(<parameter>)}<operator><const...

2019-2-14SQLserver中function函数和存储过程、触发器、CURSOR

Sqlserver 自定义函数 Function使用介绍 前言:         在SQL server中不仅可以可以使用系统自带的函数(时间函数、聚合函数、字符串函数等等),还可以根据需要自定义函数。 一、定义: 用户自定义函数的类型: 1、标量值函数(返回一个标量值) 2、表格值函数(内联表格值函数、多语句表值函数,返回一个结果集即返回多个值...

C# 中的#if、#elif、#else、#endif等条件编译符号

C#编译器遇到一个由#if和#endif包围起来的语句块时,会检查#if后面的符号是否已经被定义了,如果已经被定义,那么才会编译语句块之间的代码。而定义一个可以被#if测试的符号需要事先用#define指令定义。 #define MACRO1  using System;    public class Program   {      public st...

SqlServer基础之(触发器)

SqlServer基础之(触发器)  阅读目录 一:触发器的优点 二:触发器的作用 三:触发器的分类 四:触发器的工作原理 五:创建触发器 六:管理触发器  概念:   触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是...

【网易云音乐 for linux】 踩过的坑

1.从官网下载的包,却怎么也安装不上。 提示依赖,网上全是什么 sudo apt-get -f install ,结果提示有没有完成安装的包,让我卸载。 于是按下Y卸载了网易云。 尝试一个个修复以来,却提示不行。 。。。一段时间之后。。。 2.下载了网易云音乐1.0,提示的以来不一样了 于是一个个修复依赖,但是最后一个无法修复:libqt5libqgtk2...