Senin, 19 Januari 2015

Cara Membuat Trigger Pada Oracle

Pada artikel ini saya akan coba jelaskan sedikit bagaimana cara membuat trigger pada oracle dan memahami cara kerjanya. Terdapat beberapa event yang dapat mempengaruhi kapan trigger akan dieksekusi atau dijalankan yaitu :

  • Before insert
  • Before update
  • Before delete
  • Before insert or update
  • After insert
  • After update
  • After delete
  • After insert or update

Dan kali ini saya akan membahas event after insert. Yang perlu Anda siapkan untuk mempelajari trigger adalah dua buah tabel dengan struktur yang sama, atau Anda dapat mempelajari materi berikut. Disini saya sudah menyiapkan dua buat tabel dan saya ilustrasikan pada gambar dibawah ini.


Pada gambar tersebut terdapat dua buah tabel dengan struktur data yang sama yaitu tabel master_item dan tabel master_item_backup dimana pada tabel master_item sudah disematkan sebuat trigger after insert, sehingga ketika terjadi sebuah event after insert pada tabel master_item data yang diinsertkan ke tabel master_item juga akan masuk pada tabel master_item_backup. Nah, sekarang bagaimana caranya membuat trigger yang dapat berjalan seperti yang saya ilustrasikan?? Ikuti langkah-langkah berikut :)
Pertama, Jika Anda menggunakan PL/SQL seperti saya, pilih file --> New --> SQL Window, setelah itu ketikkan query berikut :


Pada baris pertama dapat dijelaskan bahwa user "SUPERMAN" membuat trigger bernama TAI_MASTER_ITEM.
Baris kedua mendeklarasikan event "after insert" pada tabel MASTER_ITEM.
Baris ketiga dan keempat adalah baris yang harus disertakan setiap kali membuat trigger, saya sendiri belum terlalu mendalaminya. hehehe, hanya saja ketika membuat trigger saya selalu menyertakan baris tersebut.
Baris kelima merupakan tag pembuka dan ditutup dengan tag end TAI_MASTER_ITEM; yang ada dibaris terakhir
Baris keenam sampai ke sembilan belas merupakan baris utama dari trigger ini, pada baris ini kita dapat memasukkan tindakan yang kita inginkan. Pada contoh diatas tindakkannya adalah memasukkan data record yang baru saja diinsertkan ke tabel MASTER_ITEM kedalam tabel MASTER_ITEM_BACKUP.

Selanjutnya, tekan F8 untuk mengeksekusi script tersebut, jika tidak muncul pesan error berarti trigger tersebut telah sukses dibuat dan disematkan pada tabel master_item.
Dengan demikian setiap data yang diinsertkan pada tabel master_item akan otomatis masuk pada tabel master_item_backup, sekedar informasi bahwa sebuah tabel dapat memiliki beberapa trigger dengan beberapa event yang berbeda.

Demikian sedikit penjelasan tentang trigger dari saya dan selamat mencoba ;)

0 komentar:

Posting Komentar