TRIGGER
TRIGGER adalah sebuah stored procedure yang dieksekusi pada saat terjadi modifikasi data pada tabel-tabel dalam database. Data pada sebuah tabel dikatakan telah dimodifikasi jika pada tabel tersebut dilakukan proses pemasukan data (insert), pengubahan data (update), atau penghapusan data (delete). Trigger diaktifasi berdasarkan event yang terjadi sehingga trigger berguna sekali dalam menjaga integritas dan konsistensi data. Contoh penggunaan trigger adalah untuk menjaga validasi data yang akan dimasukkan ke tabel.
Membuat TRIGGER Oracle telah menyediakan statement CREATE TRIGGER untuk membuat sebuah trigger yang kemudian akan dieksekusi berdasarkan event sebelum (before), atau setelah (after) memodifikasi data.
Syntax
Secara umum kemungkinan event trigger yang terdapat dalam sebuah database seperti ditunjukkan pada tabel berikut: Nama Keterangan BEFORE INSERT Diaktivasi sekali sebelum statemen INSERT BEFORE INSERT FOR EACH ROW Diaktivasi sebelum setiap baris baru dibuat AFTER INSERT Diaktivasi sekali setelah statemen INSERT AFTER INSERT FOR EACH ROW Diaktivasi setelah setiap baris baru dibuat BEFORE UPDATE Diaktivasi sekali sebelum statemen UPDATE DST..
CREATE TABEL ISI TABEL
CONTOH Membuat trigger untuk event BEFORE INSERT pada table mhs.
Trigger create or replace trigger trigger_a_i_penjualan after insert on penjualan for each row declare kode_barang penjualan.kode%type; jum penjualan.jumlah%type; begin kode_barang:=:new.kode; jum:=:new.jumlah; update stok set jumlah_stok=jumlah_stok-jum where kode=kode_barang; dbms_output.put_line('Data penjualan barang berhasil, table stok telah diupdate'); end; /