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/

Kirim email ke