Trigger Pada Oracle 10g

Posted by Phuad | Friday, February 19, 2010 |

Kali ini bahas soal triggermafia (haha emotnya lucu XD) . Apa itu triggerbingung?? Trigger adalah blok PL/SQL yang disimpan di dalam database dan akan dieksekusi ketika kita melakukan perintah-perintah SQL dalam DML (Data Manipulation Language) yang meliputi DELETE, UPDATE atau INSERT pada sebuah tabel. Fungsi dari trigger ini sendiri adalah untuk membantu dalam menjaga integritas dan konsistensi data ha. Dengan adanya trigger ini akan meringangkan kita dalam membangun sebuah aplikasai karena kita sudah tidak perlu lagi untuk melakukan validasi data.
Sebelum kita membuat sebuah trigger, perlu kita ketahui terlebih dahulu event yang dapat digunakan untuk mengaktifkan trigger yang kita buat. Event-event tersebut antara lain :

1. BEFORE INSERT : Mengaktifkan trigger sebelum statemen INSERT
2. AFTER INSERT : Mengaktifkan trigger setelah statemen INSERT
3. BEFORE UPDATE : Mengaktifkan trigger sebelum statemen UPDATE
4. AFTER UPDATE : Mengaktifkan trigger setelah statemen UPDATE
5. BEFORE DELETE : Mengaktifkan trigger sebelum statemen DELETE
6. AFTER DELETE : Mengaktifkan trigger setelah statemen DELETE

coolSekarang sintak umum membuat trigger adalah sebagai berikut :
CREATE OR REPLACE TRIGGER nama_trigger
(BEFORE | AFTER) statemen ON nama_tabel
FOR EACH ROW
DECLARE
--berisi deklarasi variabel
BEGIN
--berisi statemen-statemen yang akan dieksekusi
END;
Keterangan :

1. REPLACE : digunakan untuk mengganti trigger yang lama dengan trigger yang baru akan kita buat.
2. BEFORE : Digunakan untuk mendeklarasikan bahwa trigger akan dieksekusi sebelum perintah SQL dilakukan.
3. AFTER : Digunakan untuk mendeklarasikan bahwa trigger akan dieksekusi setelah perintah SQL dilakukan.
4. Statemen : Ini adalah statemen SQL dalam DML yang kita bahas diatas tadi, meliputi DELETE, UPDATE atau INSERT.

sebagai contohnya kita akan membuat trigger dengan nama trigger_coba yang dapat menampilkan teks 'Tabel barang telah di update'. Kodenya seperti ini :
create or replace trigger_coba
after update on barang
for each row
begin
dbmns_output.put_line('Tabel barang telah di update');
end;
Penjelasan :
Ketika kita seleseai (AFTER) meng-update tabel barang maka akan keluar teks 'Tabel barang telah di update'.

Untuk meriksa pengaruh trigger yang kita buat. Coba deh kita lakuin update barang, hehe....
Okeh mantabs good luck with your oracle.bye

-Ikatlah Ilmu Dengan Menuliskannya-


Artikel Terkait