Lupa taruh linknya :)) http://www.indo-oracletech.com/forum/viewtopic.php?p=974#p974
Semoga berguna 2008/7/18 Yoel Susanto <[EMAIL PROTECTED]>: > wah...I stand corrected :) > ternyata Statement trigger punya kelebihan untuk bisa melihat record2nya, > make sense juga karena dalam 1 session. > > Thanks pak Hamid atas koreksinya! > > Kalau begitu jawaban pak Sam merupakan solusi buat TS, dengan asumsi 1 > database transaksi cuman memprocess 1 NO_TRANS saja. > boleh sebanyak mungkin record asalkan masih dalam NO_TRANS yang sama. > > > 2008/7/18 Awaluddin Hamid <[EMAIL PROTECTED]>: > > 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] <sam_hidayat%40yahoo.com> >> > <mailto:sam_hidayat%40yahoo.com <sam_hidayat%2540yahoo.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; >> > > >> > >> >> > > > > -- > Cheers, > Yoel Susanto > > www.indo-oracletech.com > -- Cheers, Yoel Susanto www.indo-oracletech.com [Non-text portions of this message have been removed]

