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 概述 #### 6.1 触发器的类型 ##### 6.1.1 DML 触发器 DML (Data Manipulation Language) 触发器是一种特殊的触发器类型,它会在特定的数据操纵语言操作(如 INSERT、UPDATE 或 DELETE)执行时...
标题“Oracle Trigger at a Certain Time”涉及到Oracle数据库中的定时触发器,这是一种数据库对象,它可以在特定时间或事件发生时自动执行预定义的SQL语句或PL/SQL块。Oracle Trigger是数据库应用程序的重要组成...
这是本人为公司ERP开发人员做的trigger报告,内容全面,并比较深入,有图例说明解释,以及一些流程图例等,是学习trigger的一个很好笔记。
Oracle Trigger是数据库中的一个关键特性,它允许在特定的数据操作(如INSERT、UPDATE或DELETE)发生时自动执行一段PL/SQL代码。触发器通常用于实现业务规则、数据验证、审计跟踪以及保持数据的一致性。 在实例1中...
在Oracle数据库中,跟踪用户活动是一项重要的管理任务,有助于监控系统的使用情况、保障安全和优化性能。Oracle从Oracle8i开始引入了一类特殊触发器,它们不再局限于传统的DML事件,而是扩展到了系统级别,包括...
Oracle Table Form Trigger是Oracle数据库应用开发中的重要概念,主要涉及三方面:Oracle表格(Table)、表单(Form)以及触发器(Trigger)。本篇将详细阐述这三个关键元素及其相互关系。 1. Oracle表格(Table)...
### Trigger语法详解 #### 一、引言 在数据库领域,触发器(Trigger)是一种特殊类型的存储过程,它被设计用于响应对特定表的数据修改操作(如INSERT、UPDATE或DELETE)。触发器能够在这些操作发生时自动执行,...
Oracle培訓Oracle Procedure﹑Function、Trigger等
Oracle 异常及触发器 Oracle 异常是一种运行时错误处理机制,可以捕捉和处理程序执行过程中的错误。异常可以分为预定义异常和用户定义异常两种。 预定义异常是 Oracle 提供的预定义错误类型,例如 Invalid_cursor...
Oracle DML 触发器在数据库编程中的应用 Oracle DML 触发器是关系型数据库系统中的一个重要组件,能够自动执行特定的操作,以响应数据库中的变化。...[4] Oracle Trigger. Oracle Corporation, 2022.
oracleform常用Trigger的触发时机.pdf
本篇将重点介绍如何在使用JDeveloper这款强大的集成开发环境(IDE)时,结合Oracle的sequence和trigger来实现高效的数据操作。 首先,让我们理解一下sequence和trigger的概念。在Oracle中,sequence是一种自动递增...
Oracle数据库中的触发器(Trigger)是一种数据库对象,用于在特定的数据库操作(如INSERT、UPDATE、DELETE)发生之前或之后自动执行预定义的SQL语句或PL/SQL代码块。触发器是数据库级别的事件响应机制,它允许开发...
在Oracle中,查看、编辑、重命名和删除触发器同样使用类似的操作,如`SELECT * FROM USER_TRIGGERS`来查看触发器,`ALTER TRIGGER`用于编辑,`RENAME TRIGGER`用于重命名,`DROP TRIGGER`用于删除。 通过学习和掌握...
### Oracle自治事务(Trigger)详解 #### 一、概述 Oracle数据库中的触发器是一种存储过程,它被设计为当特定事件发生时自动执行。这些事件包括数据修改操作,如INSERT、UPDATE或DELETE等。触发器可以确保数据的...
在深入探讨如何利用Oracle触发器备份表数据之前,我们首先需要理解几个关键概念:Oracle数据库、触发器以及备份策略。Oracle数据库是全球领先的数据库管理系统之一,以其强大的性能、可靠的安全性和丰富的功能受到...