Saya ingin menginsert rekor dengan memanfaatkan efek saat insert ke suatu tabel. Untuk menjalankan fungsi ini, saya meng-create trigger.
Lihat skrip d bawah ini:
1: Create Or Replace Trigger trg_insert_akt_rekap_temp
2: After Insert
3: On akt_rekap
4: For Each Row
5: -- -------------------------------------------------
6: -- Created by Bontor TP.
7: -- Version 2009.02.17
8: -- -------------------------------------------------
9: Declare
10: v_indikator Varchar2(3);11: Begin
12: Select Substr(m.no_sppa, 1, 3)
13: Into v_indikator
14: From akt_master m
15: Where m.no_reg = :new.no_reg;
16: 17: -- Inserting the same record to AKT_MASTER_TEMP
18: If v_indikator In ('C02', 'C03')
19: Then
20: Insert Into AKT_REKAP_TEMP(KD_LOKASI,
21: THN_ANG, 22: KD_PEMILIK, 23: KD_BRG, 24: TGL_PERLH, 25: PERIODE, 26: NO_ASET, 27: TGL_UPDATE, 28: KUANTITAS, 29: DSR_HRG, 30: TERCATAT, 31: RPH_ASET, 32: KONDISI, 33: MERK_TYPE, 34: ASAL_PERLH, 35: NO_BUKTI, 36: KD_DATA, 37: JNS_TRN, 38: KD_SAT, 39: FLAG_SAP, 40: FLAG_0, 41: FLAG_1, 42: FLAG_2, 43: FLAG_3, 44: FLAG_4, 45: FLAG_5, 46: FLAG_6, 47: FLAG_7, 48: FLAG_DATA, 49: ID, 50: NO_REG, 51: CREATED_DATE, 52: CREATED_BY)53: Values (:new.KD_LOKASI,
54: :new.THN_ANG,
55: :new.KD_PEMILIK,
56: :new.KD_BRG,
57: :new.TGL_PERLH,
58: :new.PERIODE,
59: :new.NO_ASET,
60: :new.TGL_UPDATE,
61: :new.KUANTITAS,
62: :new.DSR_HRG,
63: :new.TERCATAT,
64: :new.RPH_ASET,
65: :new.KONDISI,
66: :new.MERK_TYPE,
67: :new.ASAL_PERLH,
68: :new.NO_BUKTI,
69: :new.KD_DATA,
70: :new.JNS_TRN,
71: :new.KD_SAT,
72: :new.FLAG_SAP,
73: :new.FLAG_0,
74: :new.FLAG_1,
75: :new.FLAG_2,
76: :new.FLAG_3,
77: :new.FLAG_4,
78: :new.FLAG_5,
79: :new.FLAG_6,
80: :new.FLAG_7,
81: :new.FLAG_DATA,
82: :new.ID,
83: :new.NO_REG,
84: Sysdate,85: User);
86: End If;
87: End trg_insert_akt_rekap_temp;
Dari skrip diatas kita lihat trigger akan terpicu untuk menginsert rekor ke table akt_rekap_temp, sesudah terjadi peng-insert-an ke table akt_rekap.
Baris 2, mode yang digunakan adalah After Insert pada table akt_rekap, setelah itu bila kondisi tertentu terpenuhi, trigger akan menginsert rekor dengan nilai kolom-kolom yang baru ke tabel lain akt_rekap_temp, pada bagian skrip baris 20 s/d baris 85.

0 comments:
Post a Comment