Tetap terlihat koq.. hanya saja kelemahannya yg kebaca di trigger statement hanya record terakhir. Contoh sederhana dan sedikit uraiannya, saya letakkan di forum (karena cukup panjang): http://www.indo-oracletech.com/forum/viewtopic.php?f=6&t=214
rgds, AH Yoel Susanto wrote: > > Tidak bisa pak SAM > Karena statement trigger anda tidak akan melihat record2 yang belum > tercommit. > Jadi anda punya NO_TRANS nya juga tidak berguna. > > Caranya yah salah satu dari 2 : > 1. Pakai Array yang menampung tiap2 QTY record baru (sperti yang pak AH > bilang) > 2. Bikin 1 simple procedure untuk process update, yang dipanggil setelah > detail transaksi di COMMIT. > > 2008/7/17 sam_hidayat <[EMAIL PROTECTED] > <mailto:sam_hidayat%40yahoo.com>>: > > > Kalau seperti ini bisa ga ya? > > CREATE OR REPLACE TRIGGER detil_a_aiud > > AFTER INSERT OR UPDATE OR DELETE ON detil_a > > DECLARE > > v_isi detil_a.isi%type; > > v_tot table_b.tot_qty%type; > > > > > > BEGIN > > select isi into v_isi from detil_a where > > no_trans=detil_a_pkg.v_trans; > > select tot_qty into v_tot from tabel_b where > > no_trans=detil_a_pkg.v_trans; > > > > update table_b set tmtgol=v_isi + v_tot > > where no_trans=detil_a_pkg.v_trans; > > > > END; > > / > > > > CREATE OR REPLACE TRIGGER detil_a_biud > > before INSERT or UPDATE or DELETE on detil_a > > FOR EACH ROW > > BEGIN > > if deleting then > > detil_a_pkg.v_trans :=:OLD.no_trans; > > else > > detil_a_pkg.v_trans :=:NEW.no_trans; > > end if; > > END; > > / > > > > CREATE OR REPLACE package detil_a_pkg as > > v_trans detil_a.no_trans%type; > > > > end; > > >

