test - table - CUST_MSTR
CREATE TABLE "HR"."CUST_MSTR"
( "CUST_NO" VARCHAR2(10 BYTE),
"FNAME" VARCHAR2(25 BYTE),
"MNAME" VARCHAR2(25 BYTE),
"LNAME" VARCHAR2(25 BYTE),
"DOB_INC" DATE NOT NULL ENABLE,
"OCCUP" VARCHAR2(25 BYTE),
"PHOTOGRAPH" VARCHAR2(25 BYTE),
"SIGNATURE" VARCHAR2(25 BYTE),
"PANCOPY" VARCHAR2(1 BYTE),
"FORM60" VARCHAR2(1 BYTE),
"OPERATION" VARCHAR2(20 BYTE),
"USERID" VARCHAR2(20 BYTE),
"ODATE" DATE
)
CREATE TABLE HR.AUDIT_CUST
(
CUST_NO VARCHAR2(10 BYTE),
FNAME VARCHAR2(25 BYTE),
MNAME VARCHAR2(25 BYTE),
LNAME VARCHAR2(25 BYTE),
DOB_INC DATE NOT NULL,
OCCUP VARCHAR2(25 BYTE),
PHOTOGRAPH VARCHAR2(25 BYTE),
SIGNATURE VARCHAR2(25 BYTE),
PANCOPY VARCHAR2(1 BYTE),
FORM60 VARCHAR2(1 BYTE),
OPERATION VARCHAR2(20 BYTE),
USERID VARCHAR2(20 BYTE),
ODATE DATE
)
create or replace trigger TRG_AUDIT_TRIAL
AFTER INSERT OR UPDATE OR DELETE ON CUST_MSTR FOR EACH ROW
DECLARE
OPER VARCHAR2(8);
BEGIN
/* IF THE RECORD ARE DELETED IN CUST_MSTR TABLE THEN OPER IS SET TO 'DELETE'.*/
IF DELETING THEN
OPER:='DELETE';
END IF;
/* IF THE RECORD ARE UPDATED IN CUST_MSTR TABLE THEN OPER IS SET TO 'UDPATE'.*/
IF UPDATING THEN
OPER:='UDATE';
END IF;
/* INSERT INTO AUDIT_CUST TABLE . */
INSERT INTO AUDIT_CUST VALUES (:OLD.CUST_NO, :OLD.FNAME, :OLD.MNAME, :OLD.LNAME, :OLD.DOB_INC, :OLD.OCCUP, :OLD.PHOTOGRAPH, :OLD.SIGNATURE,
:OLD.PANCOPY, :OLD.FORM60, OPER, USER, SYSDATE);
END;
CREATE TABLE "HR"."CUST_MSTR"
( "CUST_NO" VARCHAR2(10 BYTE),
"FNAME" VARCHAR2(25 BYTE),
"MNAME" VARCHAR2(25 BYTE),
"LNAME" VARCHAR2(25 BYTE),
"DOB_INC" DATE NOT NULL ENABLE,
"OCCUP" VARCHAR2(25 BYTE),
"PHOTOGRAPH" VARCHAR2(25 BYTE),
"SIGNATURE" VARCHAR2(25 BYTE),
"PANCOPY" VARCHAR2(1 BYTE),
"FORM60" VARCHAR2(1 BYTE),
"OPERATION" VARCHAR2(20 BYTE),
"USERID" VARCHAR2(20 BYTE),
"ODATE" DATE
)
Audit table (where track the record of data of table cust_mstr)
CREATE TABLE HR.AUDIT_CUST
(
CUST_NO VARCHAR2(10 BYTE),
FNAME VARCHAR2(25 BYTE),
MNAME VARCHAR2(25 BYTE),
LNAME VARCHAR2(25 BYTE),
DOB_INC DATE NOT NULL,
OCCUP VARCHAR2(25 BYTE),
PHOTOGRAPH VARCHAR2(25 BYTE),
SIGNATURE VARCHAR2(25 BYTE),
PANCOPY VARCHAR2(1 BYTE),
FORM60 VARCHAR2(1 BYTE),
OPERATION VARCHAR2(20 BYTE),
USERID VARCHAR2(20 BYTE),
ODATE DATE
)
trigger creations:
create or replace trigger TRG_AUDIT_TRIAL
AFTER INSERT OR UPDATE OR DELETE ON CUST_MSTR FOR EACH ROW
DECLARE
OPER VARCHAR2(8);
BEGIN
/* IF THE RECORD ARE DELETED IN CUST_MSTR TABLE THEN OPER IS SET TO 'DELETE'.*/
IF DELETING THEN
OPER:='DELETE';
END IF;
/* IF THE RECORD ARE UPDATED IN CUST_MSTR TABLE THEN OPER IS SET TO 'UDPATE'.*/
IF UPDATING THEN
OPER:='UDATE';
END IF;
/* INSERT INTO AUDIT_CUST TABLE . */
INSERT INTO AUDIT_CUST VALUES (:OLD.CUST_NO, :OLD.FNAME, :OLD.MNAME, :OLD.LNAME, :OLD.DOB_INC, :OLD.OCCUP, :OLD.PHOTOGRAPH, :OLD.SIGNATURE,
:OLD.PANCOPY, :OLD.FORM60, OPER, USER, SYSDATE);
END;
0 Comments