Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: :new and :old
hi ,
This is my trigger code. Basically this trigger is not working. I can't figure out how to do it. Can someone give me some example
CREATE OR REPLACE TRIGGER "CHARMS_ADM"."EMP_AUDIT" AFTER INSERT OR UPDATE ON "EMP" FOR EACH ROW DECLARE
V_AUDITTABLENAME VARCHAR2(50); V_TABLENAME VARCHAR2(50); V_COUNT NUMBER;
CURSOR C1 IS
SELECT AUDITFIELDNAME
FROM AUDITTRACKFLD WHERE AUDITTABLENAME = V_TABLENAME;
BEGIN
SELECT TABLE_NAME
INTO V_TABLENAME FROM USER_TRIGGERS WHERE TRIGGER_NAME = 'EMP_AUDIT'; SELECT COUNT(*) INTO V_COUNT FROM AUDITTRACKTBL WHERE AUDITTABLENAME = V_TABLENAME;
IF INSERTING THEN
--PICK TABLE TO TRACK
--PICK FIELD TO TRACK
--WHICH FIELD TO AUDIT
FOR C1_REC IN C1 LOOP INSERT INTO EMPAUDITTRAIL_TBL (AUDITUSERID,AUDITEMPLOYEENAME,AUDITDATETIME, AUDITCHANGETYPE,AUDITTABLENAME,AUDITFIELDNAME, AUDITKEYVALUE,AUDITBEFOREVALUE,AUDITAFTERVALUE) VALUES (:NEW.CREATEDBY,:NEW.EMPLOYEENAME,:NEW.CREATEDDATE, 'INSERT',V_TABLENAME,C1_REC.AUDITFIELDNAME, 'NOPRIMARYKEY',:OLD.C1_REC.AUDITFIELDNAME,:NEW.C1_REC.AUDITFIELDNAME); END LOOP;
END IF; END IF; END;
-- http://www.freelists.org/webpage/oracle-lReceived on Fri Jun 17 2005 - 06:39:43 CDT
![]() |
![]() |