Bisa saja, kalau dijamin satu statement hanya satu row.
Kalau lebih dari satu row, anda harus buat array untuk menampung nilai 
setiap row, kalau tidak, maka hanya record terakhir saja yg akan 
diproses di trigger statement.

rgds,
AH

sam_hidayat wrote:
>
> 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;
>
>   

Kirim email ke