`
aaron_ch
  • 浏览: 178090 次
  • 性别: 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 概述 #### 6.1 触发器的类型 ##### 6.1.1 DML 触发器 DML (Data Manipulation Language) 触发器是一种特殊的触发器类型,它会在特定的数据操纵语言操作(如 INSERT、UPDATE 或 DELETE)执行时...

    oracle trigger at a certain time

    标题“Oracle Trigger at a Certain Time”涉及到Oracle数据库中的定时触发器,这是一种数据库对象,它可以在特定时间或事件发生时自动执行预定义的SQL语句或PL/SQL块。Oracle Trigger是数据库应用程序的重要组成...

    oracle trigger研究笔记

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

    Oracle_Trigger_及_Oracle_常见问题解决方法

    Oracle Trigger是数据库中的一个关键特性,它允许在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码。触发器通常用于实现业务规则、数据验证、审计跟踪以及保持数据的一致性。 在实例1中...

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

    在Oracle数据库中,跟踪用户活动是一项重要的管理任务,有助于监控系统的使用情况、保障安全和优化性能。Oracle从Oracle8i开始引入了一类特殊触发器,它们不再局限于传统的DML事件,而是扩展到了系统级别,包括...

    Oracle Table Form Trigger

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

    trigger语法经典语法全

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

    Oracle培訓Procedure﹑Function等简介

    Oracle培訓Oracle Procedure﹑Function、Trigger等

    oracle异常及触发器.pptx

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

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

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

    oracleform常用Trigger的触发时机.pdf

    oracleform常用Trigger的触发时机.pdf

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

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

    oracle_trigger.rar_trigger

    Oracle数据库中的触发器(Trigger)是一种数据库对象,用于在特定的数据库操作(如INSERT、UPDATE、DELETE)发生之前或之后自动执行预定义的SQL语句或PL/SQL代码块。触发器是数据库级别的事件响应机制,它允许开发...

    oracle触发器的创建与使用

    在Oracle中,查看、编辑、重命名和删除触发器同样使用类似的操作,如`SELECT * FROM USER_TRIGGERS`来查看触发器,`ALTER TRIGGER`用于编辑,`RENAME TRIGGER`用于重命名,`DROP TRIGGER`用于删除。 通过学习和掌握...

    oracle自治事务(Trigger)

    ### Oracle自治事务(Trigger)详解 #### 一、概述 Oracle数据库中的触发器是一种存储过程,它被设计为当特定事件发生时自动执行。这些事件包括数据修改操作,如INSERT、UPDATE或DELETE等。触发器可以确保数据的...

    Oracle触发器备份表数据

    在深入探讨如何利用Oracle触发器备份表数据之前,我们首先需要理解几个关键概念:Oracle数据库、触发器以及备份策略。Oracle数据库是全球领先的数据库管理系统之一,以其强大的性能、可靠的安全性和丰富的功能受到...

Global site tag (gtag.js) - Google Analytics