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., > > > > > > set linesize 150 > > > col CHANGE_DATE for a55 > > > > > > SQL> select * from emp_audit; > > > EMPNO CHANGE_DATE OLD_SAL NEW_SAL > > UPDATE_BY > > > ---------- ------------ --------- --------- ---- ---------- ---------- > > ----------- > > > 7839 10-OCT-07 10.17.11.000000 AM 5000 6000 > > SCOTT > > > > > > > > > NOTE : > > > ====== > > > > > > Nilai old salary sebelum di-update 5000,. setelah di-update nilainya > > 6000., > > > perubahan nilai sebelum dan sesudah update dapat direcord ke dalam > > table yang kita create.,Oleh sebab itu jenis auditing ini disebut > > Value-Based Auditing., proses update tersebut akan mengaktifkan > > trigger emp_audit., > > > > > > Mungkin ini yang saya tangkap dari pertanyaan mas andes., > > > > > > mungkin yang lain bisa menambahkan. , > > > > > > mas., jangan panggil bapak., masih muda nich., he he he :) > > > > > > CMIIW., > > > ======= > > > > > > Salam., > > > > > > > > > An's Biring > > > > > > > > > --- On Wed, 8/6/08, Andes Febrian <pejantan4u@ ...> wrote: > > > From: Andes Febrian <pejantan4u@ ...> > > > Subject: Re: [indo-oracle] Re: Tanya audit database > > > To: indo-oracle@ yahoogroups. com > > > Date: Wednesday, August 6, 2008, 7:03 AM > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Halo pak An's, saya bisa minta link atau tutorial yg > > merefer VBA ini ? > > > > > > > > > > > > thanks > > > > > > > > > > > > On 8/6/08, Ananias Sembiring <bre_tigan_tambak@ yahoo.com> wrote: > > > > > > > > > > > > > > > > > > > > > Hallo mas andes.,menurut saya., yang mas tanyakan berkaitan dengan > > > > > > > Value-Based Auditing (VBA)., > > > > > > > > > > > > > > Value based auditing digunakan untuk mengaudit nilai/perubahan data., > > > > > > > VBA menggunakan trigger., untuk itu mas harus create trigger dulu., > > > > > > > > > > > > > > caranya : > > > > > > > ======== > > > > > > > > > > > > > > 1. create table untuk menampung auditing.,cth ., nama table > > emp_audit., > > > > > > > 2. create trigger AFTER UPDATE pada kolom salary milik scott., > > > > > > > > > > > > > > bila ingin mengcreate FK., defenisikan saja pada table emp_audit., > > > > > > > > > > > > > > CMIIW., > > > > > > > > > > > > > > Salam., > > > > > > > > > > > > > > An's Biring., > > > > > > > > > > > > > > --- On Wed, 8/6/08, Andes Febrian <pejantan4u@ gmail. > > com<pejantan4u% 40gmail.com> > > > > > > > > wrote: > > > > > > > From: Andes Febrian <pejantan4u@ gmail. com <pejantan4u% 40gmail.com> > > > > > > > > > Subject: Re: [indo-oracle] Re: Tanya audit database > > > > > > > To: indo-oracle@ yahoogroups. com <indo-oracle% 40yahoogroups. com> > > > > > > > Date: Wednesday, August 6, 2008, 4:08 AM > > > > > > > > > > > > > > hihihi.. maaf ya membingungkan, saya yg salah, saya coba dgn > > contoh lain > > > > > > > > > > > > > > deh, > > > > > > > > > > > > > > misal ada query update SCOTT.EMP set salary = 12000 where empno = > > 123456; > > > > > > > > > > > > > > klo kita set audit pada table emp, kita bisa lihat kan perubahan pada > > > > > > > > > > > > > > object_name, sapa yg merubah isi table tersebut, waktu perubahan, > > di tabel > > > > > > > > > > > > > > sys.aud$. > > > > > > > > > > > > > > tp saya mau 'empno = 123456' ini bisa terlihat jg pada table > > audit, klo > > > > > > > bisa > > > > > > > > > > > > > > dijadikan foreign key pada table audit, sehingga saya dapat > > menggabungkan > > > > > > > > > > > > > > (join) antara table audit dgn table asli (table emp) dgn empno sebagai > > > > > > > > > > > > > > key-nya. sehingga saya bisa menampilkan( select) riwayat perubahan > > pada > > > > > > > table > > > > > > > > > > > > > > emp tersebut secara lengkap. > > > > > > > > > > > > > > thanks > > > > > > > > > > > > > > On 8/6/08, rohmadsan <[EMAIL PROTECTED] com> wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hallo... > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Saya sudah mencoba membaca berkali-kali tapi masih belum paham juga > > > > > > > > > > > > > > > maksudnya Mas Andes :) Bisa ditambahkan kalimat-kalimat lain yang > > > > > > > > > > > > > > > mungkin bisa memperjelas? :) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Keep spirit. > > > > > > > > > > > > > > > Mari kita saling berbagi. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Salam, > > > > > > > > > > > > > > > Rohmad > > > > > > > > > > > > > > > http://rohmad. net/2008/ 05/30/kitab- suci-dba- oracle/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --- In indo-oracle@ yahoogroups. com <indo-oracle% > > 40yahoogroups. com>, > > > > > > > "Andes > > > > > > > > > > > > > > > > > > > > > > Febrian" <pejantan4u@ ...> > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dear gurus, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > saya punya table pegawai dan dept pada user test, > > > > > > > > > > > > > > > > struktur pegawai > > > > > > > > > > > > > > > > no_id primary key, > > > > > > > > > > > > > > > > nama, > > > > > > > > > > > > > > > > alamat, > > > > > > > > > > > > > > > > gaji > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > struktur dept > > > > > > > > > > > > > > > > no_id foreign key > > > > > > > > > > > > > > > > jabatan, > > > > > > > > > > > > > > > > departemen > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > kemudian saya menggunakan audit feature pada kedua table diatas, > > > > > > > > > > > > > > > > yg saya mau tanyakan adalah, bisa ga yg di tampilkan selain field2 > > > > > > > > > > > > > > > yg ada di > > > > > > > > > > > > > > > > sys.aud$ table, seperti no_id yg berupa primary key tersebut. jadi > > > > > > > > > > > > > > > yg saya > > > > > > > > > > > > > > > > ingin lihat adalah bila terjadi perubahan pada no_id 302 pada > > table > > > > > > > > > > > > > > > dept, > > > > > > > > > > > > > > > > saya bisa tau jg, Ow ternyata klo no_id 302 itu punya nya si ini > > > > > > > > > > > > > > > pada table > > > > > > > > > > > > > > > > yg berhubungan, seperti table pegawai. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > atau bila membingungkan, intinya bisa tidak menampilkan kolom > > no_id > > > > > > > > > > > > > > > tersebut > > > > > > > > > > > > > > > > ? entah dgn feature audit atau ada feature dari oracle yg lain ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mohon dengan sangat pencerahannya, terima kasih. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > > > Cheers, > > > > > > > > > > > > > > > > ^_^ Andes ^_^ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > > > > > > > > Cheers, > > > > > > > > > > > > > > ^_^ Andes ^_^ > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > Cheers, > > > > > > ^_^ Andes ^_^ > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > > > > > > > > > > > > > [Non-text portions of this message have been removed] > > > -- Cheers, ^_^ Andes ^_^ [Non-text portions of this message have been removed]

