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]

Kirim email ke