oracle插入或更新某一个指定列来执行触发器

表结构:

create table TZ_GXSX
(
  ID              VARCHAR2(15),
  PROJECT         VARCHAR2(50),
  TXYX            NUMBER(22) default ‘0‘,
  CDATE           DATE,
  RISK            VARCHAR2(10),
  DEGREE          VARCHAR2(10),
  PROB            VARCHAR2(10),
  PRESSURE_LEVEL  VARCHAR2(20),
  NETWORKDIVISION VARCHAR2(20),
  AUTHOR          VARCHAR2(20),
  INP_DATE        DATE
)

直接更新:

create or replace trigger GXSX_trg
  before update ON TZ_GXSX
  FOR EACH ROW

BEGIN
 :new.INP_DATE:=sysdate;
EXCEPTION
  WHEN OTHERS THEN
    RAISE;
END GXSX_trg;

 排除指定列名"CDATE" 来执行更新:

create or replace trigger GXSX_trg
  before update ON TZ_GXSX
  FOR EACH ROW

BEGIN
 if updating(‘CDATE‘)=false
   then
 :new.INP_DATE:=sysdate;
 end if;
EXCEPTION
  WHEN OTHERS THEN
    RAISE;
END GXSX_trg;

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。