Itu karena di trigger trg_COBA_audit Anda menggunakan referensi Variabel :OLD coba yang :OLD diganti dengan :NEW sehingga triger menjadi sbb:>
CREATE OR REPLACE TRIGGER trg_COBA_audit BEFORE INSERT OR DELETE OR UPDATE ON COBA FOR EACH ROW DECLARE BEGIN insert into COBA_audit values ( sysdate, :NEW.EMPNO, :NEW.NAMA, :NEW.JABATAN, :NEW.GAJI ); END; Catatan : :OLD untuk menyimpan nilai lama :NEW untuk menyimpan nilai baru Saran : Sebaiknya di tabel auditnya tambahkan kolom GAJI_lama dan diisi dengan :OLD.GAJI, biar gaji sebelum diuodate juga terekam. CMIIW Bambang Sutejo www.klik-oracle.web.id --- Andes Febrian <[EMAIL PROTECTED]> menulis: > Dear gurus, > > untuk audit proses insert knp ya data yg di > tampilkan pada table audit hanya > tanggal. seperti contoh di bawah ini : > ================== > CREATE TABLE COBA > ( > EMPNO NUMBER(4), > NAMA VARCHAR2(20), > JABATAN VARCHAR2(10), > GAJI NUMBER > ); > > ====================== > CREATE TABLE COBA_audit > ( > Tanggal_edit date, > EMPNO NUMBER(4), > NAMA VARCHAR2(20), > JABATAN VARCHAR2(10), > GAJI NUMBER > ); > > ======================================= > CREATE OR REPLACE TRIGGER trg_COBA_audit > BEFORE INSERT OR DELETE OR UPDATE ON COBA > FOR EACH ROW > DECLARE > BEGIN > insert into COBA_audit values ( > sysdate, > :old.EMPNO, > :old.NAMA, > :old.JABATAN, > :old.GAJI > ); > END; > / > > =================================== > insert into COBA2 values (1, 'Andes', 'DBA', 400000) > commit; > > ***setelah insert, saya select * from coba_audit > hasilnya adalah : > tanggal_edit empno ename job sal 08/12/2008 > 16:07:33 > > > > > =================================== > update COBA2 set sal=1000000 where empno=1 > commit; > > ****kemudian bila saya update barulah tampil, > sebagai berikut : > tanggal_edit empno ename job sal 08/12/2008 > 16:16:44 3 Andes DBA > 1.000.000,00 08/12/2008 16:14:30 > > > > > Mohon pencerahannya, terima kasih. > > > 2008/8/6 erwin santoso <[EMAIL PROTECTED]> > > > just comment, ini ada di kursus oracle int'l > yang sedang saya pelajari.. > > > > > > --- On Wed, 8/6/08, rohmadsan <[EMAIL PROTECTED] > <rohmadsan%40yahoo.com>> > > wrote: > > From: rohmadsan <[EMAIL PROTECTED] > <rohmadsan%40yahoo.com>> > > Subject: [indo-oracle] Re: Tanya audit database > > To: [email protected] > <indo-oracle%40yahoogroups.com> > > Date: Wednesday, August 6, 2008, 1:00 AM > > > > > > Hallo Mas An's Biring > > > > Tampaknya secara tak sengaja kita melakukan kontak > batin pakai indra > > > > ke-enam :) Secara bersamaan kita menulis hampir > sama :) Saya > > > > menulisnya di sini > > > > http://rohmad. net/2008/ 08/06/audit- > update-table- dengan-trigger/ > > > > Good luck Mas. > > > > Keep spirit untuk salig berbagi. > > > > Salam, > > > > Rohmad > > > > --- In indo-oracle@ yahoogroups. com, Ananias > Sembiring > > > > <bre_tigan_tambak@ ...> wrote: > > > > > > > > > > > > > > > Hallo mas andes., > > > > > > > > > > berikut cara-nya : > > > > > ============ == > > > > > > > > > > 1. CREATE TABLE emp_audit untuk menyimpan hasil > auditing > > > > > > > > > > SQL> CREATE TABLE EMP_AUDIT ( > > > > > EMPNO NUMBER(4) > > > > > CONSTRAINT EMP_AUDIT_NN_ EMPNO NOT NULL, > > > > > CHANGE_DATE TIMESTAMP > > > > > CONSTRAINT EMP_AUDIT_NN_ CHANGE_DATE NOT NULL, > > > > > OLD_SAL NUMBER(7,2), > > > > > NEW_SAL NUMBER(7,2), > > > > > UPDATE_BY VARCHAR2(30) ) > > > > > / > > > > > > > > > > 2. CREATE TRIGGER emp_audit., > > > > > > > > > > SQL> CREATE OR REPLACE TRIGGER EMP_AUDIT > > > > > AFTER UPDATE OF SAL > > > > > ON SCOTT.emp > > > > > FOR EACH ROW > > > > > DECLARE > > > > > CUR_USER VARCHAR2(8); > > > > > CUR_DATE TIMESTAMP; > > > > > BEGIN > > > > > SELECT USER,SYSDATE INTO CUR_USER,CUR_ DATE FROM > DUAL; > > > > > INSERT INTO EMP_AUDIT > > > > > VALUES (:OLD.EMPNO, CUR_DATE, :OLD.SAL, > :NEW.SAL, CUR_USER); > > > > > END; > > > > > / > > > > > > > > > > 3. Coba connect sebagai scott., jalankan > perintah update table emp., > > > > kolom salary > > > > > > > > > > SQL> update emp set sal=6000 where ename = > 'KING'; > > > > > > > > > > > > > > > 4. Check table emp_audit untuk melihat hasil > auditing., > > > === message truncated === ___________________________________________________________________________ Yahoo! sekarang memiliki alamat Email baru. Dapatkan nama yang selalu Anda inginkan di domain baru @ymail dan @rocketmail. Cepat sebelum diambil orang lain! http://mail.promotions.yahoo.com/newdomains/id/ ___________________________________________________________________________ Yahoo! Toolbar kini dilengkapi dengan Search Assist. Download sekarang juga. http://id.toolbar.yahoo.com/

