`
aaron_ch
  • 浏览: 173839 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Oracle Trigger

阅读更多

CREATE OR REPLACE TRIGGER TRAINING.TR_MIDAS_CLOSETT
AFTER UPDATE
ON TRAINING.TT_TROUBLETKT
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE

BEGIN
--IF SUBPRODUCT <> PAYPHONE AND SUBPRODUCT <> PW-DID CIRCUIT AND (TT STATUS == CLOSED or TT STATUS == Cancelled)
  IF :NEW.SUBPRODUCT <> 1 AND :NEW.SUBPRODUCT <> 2 AND (:NEW.STATUS = 1 OR :NEW.STATUS = 2) THEN
    INSERT INTO INT_MIDAS VALUES ( GET_NEXTRECID,:NEW.SERVICENO,2,SYSDATE,NULL);
  END IF;

END TR_MIDAS_CLOSETT;
/

 

 

 

CREATE TABLE TT_TROUBLETKT
(
  TTREF             VARCHAR2(20 BYTE)           NOT NULL,
  SVCID             VARCHAR2(15 BYTE),
  PEGCUSTID         VARCHAR2(10 BYTE),
  CUSTID            VARCHAR2(144 BYTE),
  BILLACCTID        VARCHAR2(10 BYTE),
  BILLACCTNO        VARCHAR2(144 BYTE),
  SERVICENO         VARCHAR2(144 BYTE)          NOT NULL,
  SVCTYPECODE       VARCHAR2(10 BYTE),
  CUSTRPTNO         VARCHAR2(20 BYTE)           NOT NULL,
  N1NO              VARCHAR2(144 BYTE),
  CUSTNAME          VARCHAR2(60 BYTE),
  PRODUCT           NUMBER(38)                  NOT NULL,
  SUBPRODUCT        NUMBER(38)                  NOT NULL,
  SVCTYPE           NUMBER(38),
  NOC               VARCHAR2(20 BYTE)           NOT NULL,
  PRIORITY          NUMBER(38)                  NOT NULL,
  COF1              VARCHAR2(20 BYTE),
  COF2              VARCHAR2(20 BYTE),
  STATUS            NUMBER(38)                  NOT NULL,
  KIVCODE           NUMBER(38),
  INSTADDR          VARCHAR2(500 BYTE),
  POSTALCODE        VARCHAR2(10 BYTE),
  LINETYPE          VARCHAR2(15 BYTE),
  RENTALTARIFF      VARCHAR2(20 BYTE),
  APPTID            VARCHAR2(20 BYTE),
  CONTACTNO         VARCHAR2(30 BYTE),
  CONTACTNAME       VARCHAR2(60 BYTE),
  PENDINGAPPTIND    CHAR(1 BYTE),
  EXCHANGE          VARCHAR2(10 BYTE),
  MDFEXCHANGE       VARCHAR2(10 BYTE),
  LOCALCABLECODE    VARCHAR2(10 BYTE),
  MAINCABLECODE     VARCHAR2(10 BYTE),
  CABNO             VARCHAR2(10 BYTE),
  CAB2NO            VARCHAR2(10 BYTE),
  CABDSP            VARCHAR2(10 BYTE),
  CAB2DSP           VARCHAR2(10 BYTE),
  CABESP            VARCHAR2(10 BYTE),
  CAB2ESP           VARCHAR2(10 BYTE),
  CABADDR           VARCHAR2(500 BYTE),
  CAB2ADDR          VARCHAR2(500 BYTE),
  DISTRIBPOINT      VARCHAR2(10 BYTE),
  STRIPPAIR         VARCHAR2(10 BYTE),
  IADMAC            VARCHAR2(10 BYTE),
  LINKREFNO         VARCHAR2(10 BYTE),
  DRT120KHZ         VARCHAR2(10 BYTE),
  LOOPRESIST        VARCHAR2(10 BYTE),
  L1EXCHCODE        VARCHAR2(10 BYTE),
  L1NODEID          VARCHAR2(10 BYTE),
  L1SUBNODE         VARCHAR2(10 BYTE),
  L1TERMNO          VARCHAR2(10 BYTE),
  E1SUBNODE         VARCHAR2(10 BYTE),
  E1TERMNO          VARCHAR2(10 BYTE),
  EQUIPTYPE         VARCHAR2(15 BYTE),
  IPADDR            VARCHAR2(20 BYTE),
  MUXFRAME          VARCHAR2(20 BYTE),
  CIRCUITNO         VARCHAR2(10 BYTE),
  NODETYPE          VARCHAR2(10 BYTE),
  KEY               VARCHAR2(10 BYTE),
  KEY2              VARCHAR2(10 BYTE),
  UPSTREAM          VARCHAR2(10 BYTE),
  DOWNSTREAM        VARCHAR2(10 BYTE),
  SWITCH            VARCHAR2(10 BYTE),
  EXCHBASE          VARCHAR2(30 BYTE),
  AREA              VARCHAR2(10 BYTE),
  AREAGROUP         VARCHAR2(30 BYTE),
  AREA2             VARCHAR2(10 BYTE),
  XDIND             CHAR(1 BYTE),
  ADSLIND           CHAR(1 BYTE),
  LSIND             CHAR(1 BYTE),
  PNIND             VARCHAR2(10 BYTE),
  RPTFLTCNT         NUMBER(38),
  RPTADSLFLTCNT     NUMBER(38),
  PEGASUSAVAILABLE  CHAR(1 BYTE)                NOT NULL,
  NASAVAILABLE      CHAR(1 BYTE)                NOT NULL,
  AWISAVAILABLE     CHAR(1 BYTE)                NOT NULL,
  NONPEGASUSIND     CHAR(1 BYTE),
  SEARCHTYPE        VARCHAR2(30 BYTE),
  CKCREF            VARCHAR2(20 BYTE),
  FAULTCLEARED      DATE,
  CLOSEDATETIME     DATE,
  SOURCE            VARCHAR2(10 BYTE),
  SOURCEREFID       VARCHAR2(30 BYTE),
  CALLINBOUND       VARCHAR2(1000 BYTE),
  CREATEUSERID      VARCHAR2(10 BYTE)           NOT NULL,
  CREATEDATETIME    DATE                        NOT NULL,
  CHANGEUSERID      VARCHAR2(10 BYTE),
  CHANGEDATETIME    DATE,
  BLACKLISTIND      CHAR(1 BYTE),
  ISP               NUMBER(38),
  USERMODEM         NUMBER(38),
  MODEMSN           VARCHAR2(60 BYTE),
  INSTDATE          DATE,
  LASTTTREF         VARCHAR2(20 BYTE),
  RPTDELFLTCNT      NUMBER(38),
  INSTUNITNO        VARCHAR2(30 BYTE),
  INSTBLKNO         VARCHAR2(10 BYTE),
  INSTSTNM          VARCHAR2(60 BYTE),
  INSTBLDGNM        VARCHAR2(60 BYTE),
  INSTDEVNM         VARCHAR2(30 BYTE),
  INSTCOUNTRY       VARCHAR2(10 BYTE),
  CARDNO            NUMBER(38),
  NOC2              VARCHAR2(20 BYTE),
  ADSLNODEID        VARCHAR2(10 BYTE)
)
TABLESPACE SYSTEM
PCTUSED    40
PCTFREE    10
INITRANS   1
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
LOGGING
NOCOMPRESS
NOCACHE
NOPARALLEL
MONITORING;


CREATE INDEX I_ROUBLETKT ON TT_TROUBLETKT
(CKCREF)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE UNIQUE INDEX TT_TROUBLETKT_PK ON TT_TROUBLETKT
(TTREF)
LOGGING
TABLESPACE SYSTEM
PCTFREE    10
INITRANS   2
MAXTRANS   255
STORAGE    (
            INITIAL          64K
            MINEXTENTS       1
            MAXEXTENTS       2147483645
            PCTINCREASE      0
            FREELISTS        1
            FREELIST GROUPS  1
            BUFFER_POOL      DEFAULT
           )
NOPARALLEL;


CREATE OR REPLACE TRIGGER TR_MIDAS_CREATETT
AFTER INSERT
ON TT_TROUBLETKT REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE


BEGIN
--IF SUBPRODUCT <> PHONENET AND SUBPRODUCT <> PW-DID CIRCUIT AND TT STATUS == OPEN
  IF :NEW.SUBPRODUCT <> 1 AND :NEW.SUBPRODUCT <> 2 AND :NEW.STATUS = 1 THEN
    INSERT INTO INT_MIDAS VALUES ( GET_NEXTRECID,:NEW.SERVICENO,1,SYSDATE,NULL);
  END IF;

END ;
/
SHOW ERRORS;

 

CREATE OR REPLACE TRIGGER TR_MIDAS_CLOSETT
AFTER UPDATE
ON TT_TROUBLETKT
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
DECLARE

BEGIN
--IF SUBPRODUCT <> PAYPHONE AND SUBPRODUCT <> PW-DID CIRCUIT AND (TT STATUS == CLOSED or TT STATUS == Cancelled)
  IF :NEW.SUBPRODUCT <> 1 AND :NEW.SUBPRODUCT <> 2 AND (:NEW.STATUS = 1 OR :NEW.STATUS = 2) THEN
    INSERT INTO INT_MIDAS VALUES ( GET_NEXTRECID,:NEW.SERVICENO,2,SYSDATE,NULL);
  END IF;

END TR_MIDAS_CLOSETT;
/
SHOW ERRORS;

 

CREATE SYNONYM STARLIGHT.TT_TROUBLETKT FOR TT_TROUBLETKT;


ALTER TABLE TT_TROUBLETKT ADD (
  CONSTRAINT TT_TROUBLETKT_PK
 PRIMARY KEY
 (TTREF)
    USING INDEX
    TABLESPACE SYSTEM
    PCTFREE    10
    INITRANS   2
    MAXTRANS   255
    STORAGE    (
                INITIAL          64K
                MINEXTENTS       1
                MAXEXTENTS       2147483645
                PCTINCREASE      0
                FREELISTS        1
                FREELIST GROUPS  1
               ));


ALTER TABLE TT_TROUBLETKT ADD (
  CONSTRAINT TT_TROUBLETKT
 FOREIGN KEY (CKCREF)
 REFERENCES TT_CKC (CKCREF));

分享到:
评论

相关推荐

    oracle trigger(1)

    上传两本Oracle的trigger的学习资料(本人的学习参考书)。 详解Oracle中的trigger(中文版,PDF格式),包括DML触发器,替代触发器,系统触发器以及变异表等,含代码。 确实是本Oracle trigger的好书。 这是第一本...

    oracle trigger研究笔记

    这是本人为公司ERP开发人员做的trigger报告,内容全面,并比较深入,有图例说明解释,以及一些流程图例等,是学习trigger的一个很好笔记。

    oracle trigger at a certain time

    s 博文链接:https://eric2007.iteye.com/blog/210415

    Oracle中通过触发器来追踪用户的活动

    从Oracle8i开始,Oracle引入了特殊的触发器,这些触发器并不是和特殊的DML事件相关联的(DML事件,如,INSERT,UPDATE和DELETE)。这些系统级别的触发器包括数据库启动触发器,DDL触发器和最终用户登陆/注销触发器。...

    Oracle Table Form Trigger

    Oracle Table大全 Form Trigger大全

    trigger语法经典语法全

    trigger语法trigger语法 经典语法全

    Oracle培訓Procedure﹑Function等简介

    Oracle培訓Oracle Procedure﹑Function、Trigger等

    oracle异常及触发器.pptx

    Oracle 异常及触发器 Oracle 异常是一种运行时错误处理机制,可以捕捉和处理程序执行过程中的错误。异常可以分为预定义异常和用户定义异常两种。 预定义异常是 Oracle 提供的预定义错误类型,例如 Invalid_cursor...

    Oracle_Trigger_及_Oracle_常见问题解决方法

    Oracle_Trigger_及_Oracle_常见问题解决方法 Oracle_Trigger_及_Oracle_常见问题解决方法

    oracle pl/sql

    oracle trigger pl/sql sql 优化

    Oracle DML触发器在数据库编程中的应用.pdf

    Oracle DML 触发器在数据库编程中的应用 Oracle DML 触发器是关系型数据库系统中的一个重要组件,能够自动执行特定的操作,以响应数据库中的变化。...[4] Oracle Trigger. Oracle Corporation, 2022.

    oracleform常用Trigger的触发时机.pdf

    oracleform常用Trigger的触发时机.pdf

    oracle触发器实例讲解

    oracle触发器实例讲解2008-11-27 09:17--[6]// Oracle Trigger ---------------------------------------------------------------------------------------------// --实例1------------------------ --创建触发器...

    Oracle触发器trigger详解

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

    oracle_trigger.rar_trigger

    提供一个Oracle中的触发器实例,供初学者学习触发器的原理及语法。

    oracle触发器(trigger).pdf

    oracle触发器(trigger).pdf

Global site tag (gtag.js) - Google Analytics