Trigger adalah blok PL/SQL atau prosedur yang berhubungan dengan table, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event. Trigger merupakan store procedure yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE, dan DELETE. INSERT , UPDATE dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger.
Tipe dari trigger adalah :
· Application trigger : diaktifkan pada saat terjadi event yang berhubungan dengan sebuah aplikasi
· Database trigger : diaktifkan pada saat terjadi event yang berhubungan dengan data (seperti operasi DML) atau event yang berhubungan dengan sistem (semisal logon atau shutdown) yang terjadi pada sebuah skema atau database.
Trigger perlu dibuat pada saat :
· Membentuk sebuah aksi tertentu terhadap suatu event
· Memusatkan operasi global
Trigger tidak perlu dibuat, jika :
· Fungsionalitas yang diperlukan suatu ada pada Oracle server
· Duplikat atau sama dengan fungsi trigger yang lain.
Sintak penulisan dari database trigger, berisi komponen berikut :
1. Trigger timing :
a. Untuk tabel : BEFORE, AFTER
b. Untuk view : INSTEAD OF
2. Trigger event : INSERT, UPDATE atau DELETE
3. Nama tabel : yaitu nama tabel atau view yang berhubungan dengan trigger
4. Tipe trigger : Baris atau Pernyataan (statement)
5. klausa WHEN : untuk kondisi pembatasan
6. trigger body : bagian prosedur yang dituliskan pada trigger
Trigger timing adalah waktu kapan trigger diaktifkan. Ada tiga macam trigger timing, yaitu :
· BEFORE : trigger dijalankan sebelum DML event pada tabel
· AFTER : trigger dijalankan setelah DML event pada tabel
· INSTEAD OF : trigger dijalankan pada sebuah view.
Trigger event ada 3 kemungkinan : INSERT, UPDATE atau DELETE.
Pada saat trigger event UPDATE, kita dapat memasukkan daftar kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger (contoh : UPDATE OF salary ... ). Jika tidak ditentukan, maka perubahannya akan berlaku untuk semua kolom pada semua baris.
Tipe trigger ada 2 macam, yaitu :
· Statement : trigger dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris yang dipengaruhi oleh event yang terjadi.
· Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun.
Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya event yang mengakibatkan sebuah trigger menjadi aktif.
sumber : www.osun.org/contoh+penggunaan+trigger+sql-pdf.html
Tipe dari trigger adalah :
· Application trigger : diaktifkan pada saat terjadi event yang berhubungan dengan sebuah aplikasi
· Database trigger : diaktifkan pada saat terjadi event yang berhubungan dengan data (seperti operasi DML) atau event yang berhubungan dengan sistem (semisal logon atau shutdown) yang terjadi pada sebuah skema atau database.
Trigger perlu dibuat pada saat :
· Membentuk sebuah aksi tertentu terhadap suatu event
· Memusatkan operasi global
Trigger tidak perlu dibuat, jika :
· Fungsionalitas yang diperlukan suatu ada pada Oracle server
· Duplikat atau sama dengan fungsi trigger yang lain.
Sintak penulisan dari database trigger, berisi komponen berikut :
1. Trigger timing :
a. Untuk tabel : BEFORE, AFTER
b. Untuk view : INSTEAD OF
2. Trigger event : INSERT, UPDATE atau DELETE
3. Nama tabel : yaitu nama tabel atau view yang berhubungan dengan trigger
4. Tipe trigger : Baris atau Pernyataan (statement)
5. klausa WHEN : untuk kondisi pembatasan
6. trigger body : bagian prosedur yang dituliskan pada trigger
Trigger timing adalah waktu kapan trigger diaktifkan. Ada tiga macam trigger timing, yaitu :
· BEFORE : trigger dijalankan sebelum DML event pada tabel
· AFTER : trigger dijalankan setelah DML event pada tabel
· INSTEAD OF : trigger dijalankan pada sebuah view.
Trigger event ada 3 kemungkinan : INSERT, UPDATE atau DELETE.
Pada saat trigger event UPDATE, kita dapat memasukkan daftar kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger (contoh : UPDATE OF salary ... ). Jika tidak ditentukan, maka perubahannya akan berlaku untuk semua kolom pada semua baris.
Tipe trigger ada 2 macam, yaitu :
· Statement : trigger dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris yang dipengaruhi oleh event yang terjadi.
· Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun.
Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya event yang mengakibatkan sebuah trigger menjadi aktif.
sumber : www.osun.org/contoh+penggunaan+trigger+sql-pdf.html
http://sites.google.com/site/emonizer/drinking24.gif
ReplyDeletesip gan,, thx...
@ anonim : sama sama gan...
ReplyDeletethanx udah mampir :)
wahhhh, anak JTK juga...
ReplyDeletemantap kang, membantu saya membuat pre-report....
yah... JTK...
ReplyDeletealhamdulillah kalo ternyata bermanfaat...
makasih sudah mampir :)
thanks gan.. artikelnya..
ReplyDelete@ syamsu : sama sama gan...
ReplyDeletethanks ya udah mampir :)
Ada contoh scripnya ga Gan??
ReplyDelete@ SaM : Secara umum sih syntaxnya begini..
ReplyDeleteCREATE [OR REPLACE ] TRIGGER trigger_name
{BEFORE | AFTER | INSTEAD OF }
{INSERT [OR] | UPDATE [OR] | DELETE}
[OF col_name]
ON table_name
[REFERENCING OLD AS o NEW AS n]
[FOR EACH ROW]
WHEN (condition)
BEGIN
--- sql statements
END;
kalo scriptnya coba googling aja gan.. banyak ko :D
makasii ya infonyaa. semoga jadi amal yg baikk..
ReplyDelete:) ;)
Aaamiin :)
DeleteThanks ya gan atas infonya (y)
ReplyDeletesip sama sama gan..
Deletesemoga bermanfaat :shakehand
wah saya baru tau kang mengenai trigger itu, terima kasih atas ilmunya kang.. ^^
ReplyDeletesip sama sama :)
Deleteselamat pagi mas... ilmu mengenai trigger yang sangat bermanfaat mas... ^^
ReplyDeleteoh iya, sudah saya follow urutan 154... jangan lupa follback ya.. hihihi.. ^^ :D
hehhee done ya..
DeleteTerimakasih informasinya, di buku sekolah kurang jelas penejelasannya soalnya :)
ReplyDeleteSama sama mas. Semoga bermanfaat :)
Deletemohon bantuan nya, saya sedang membuat project sistem inventory.
ReplyDeletesaya mempunyai table stok dan barang masuk.
table stok mempunyai column jumlah_stok dan table barang masuk mempunyai column jumlah_brg_msk.
Bagaimana cara menggunakan trigger supaya saat menginput jumlah barang masuk, maka jumlah stok otomatis bertambah ? mohon penjelasannya, terimakasih :)
Seharusnya tinggal buat trigger after update tabel barang masuk yang isinya update ke table stok.
DeleteUntuk contohnya silahkan googling lebih lanjut, banyak kok contohnya.
Good luck :)
Makasih gan, nambah ilmu baru nih :D
ReplyDeletedefinisiny kurng lengkp nih mas?
ReplyDeleteMohon maaf untuk itu, silahkan baca sumber lain untuk menambah referensi.
DeleteGreat Article
ReplyDeleteandroid based projects
Java Training in Chennai
Project Center in Chennai
Java Training in Chennai
projects for cse
The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training Project Centers in Chennai
Android Final Year Project Ideas for Computer Science. IEEE Android Projects for CSE 2020 - 2021 - WISEN
http://projectcentersinchennai.co.in
http://wisenitsolutions.com