Anda di halaman 1dari 2

Trigger adalah prosedur yang tersimpan pada SQL server yang secara otomatis dijalankan

apabila data dalam tabel dirubah karena perintah SQL (seperti INSERT/UPDATE/DELETE)
Sintak secara umum adalah :
CREATE [DEFINER = {user | CURRENT USER}]TRIGGER trigger_name
trigger_time trigger_eventON tbl_name FOR EACH ROW trigger_smt

PL/SQL dapat dibagi menjadi tiga, yaitu: prosedur, fungsi, dan trigger. Prosedur dan fungsi
bekerja berdasarkan eksekusi langsung dari user/program, sedangkan trigger akan bekerja
secara otomatis apabila terjadi aktivitas insert, update atau delete data. Struktur dari bahasa
pemrograman PL/SQL MySQL (MySQL AB, 2005) adalah sebagai berikut:

Procedure

CREATE PROCEDURE procedure1 /* name */


(IN|OUT|INOUT parameter1 INT) /* parameters */
BEGIN /*start of block*/
DECLARE variable1 CHAR(10); /* variables */
… /* statement */
SET variabel1 = 1; /* statement */
INSERT INTO table1 VALUES (variable1); /* statement */
… /* statement */
END /* end of block */

Function
CREATE FUNCTION function1 /* name */
(parameter1 INTEGER) /* parameters */
RETURNS CHAR(10) /* returns value*/
BEGIN /*start of block*/
DECLARE variable1 CHAR(10); /* variables */
… /* statement */
SET variabel1 = “satu”; /* statement */
INSERT INTO table1 VALUES (variable1); /* statement */
… /* statement */
END /* end of block */

Misal ada kasus tentang semisal kita insert pada tabel A pada kolom yang ada yaitu a maka
juga akan insert di tabel B pada kolom b.
Maka sintak trigger yang digunakan adalah:

Penjelasannya adalah :
(1) membuat trigger yang bernamaINSERT_A
(2) trigger time kapan aksi trigger dijalankan. Pada kasus    ini trigger dijalankan SETELAH
kita insert pada A maka akan otomatis insert juga di tabel B. Maka kita menggunakan
AFTER , kita bisa juga menggunakan BEFORE pada kondisi tertentu. INSERT pada baris ini
adalah sebuah event.
(3) Untuk setiap baris yang kita insert di tabel A akan insert juga otomatis di setiap baris tabel
B
(4)Mulai aksi trigger
(5) INSERT pada kasus ini ialah menambah atau menginputkan atau menginsertkan . INTO
B adalah kemana  atau apa nama tabel yang akan kita insert. Pada Kondisi tertentu juga bisa
kita gunakan UPDATE atau DELETE untuk mengganti INSERT. set yaitu mengeset isi
kolom b dengan referensi sesudah perubahan.
NEW bisa diganti dengan OLD , tergantung dengan kondisi semisal dibutuhkan referensi
sebelum perubahan maka kita menggunakan OLD.

Anda mungkin juga menyukai