You are on page 1of 28

MYSQL-TRIGGER

DINI ROHMAYANI, M.KOM.


TRIGGER

 Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis
pada saat sebelum atau sesudah terjadi proses INSERT, UPDATE, atau
DELETE pada suatu tabel
 Trigger mulai dikenal di database pada versi MySQL 5.0
FUNGSI TRIGGER

 Untuk melakukan update data secara otomatis jika terjadi perubahan pada suatu data. Contohnya
adalah pada sistem penjualan, jika entri data baru kedalam tabel barang maka stock akan bertambah
secara otomatis
 Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara
otomatis akan menyimpan ke tabel log.
 Trigger dapat juga digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut
disimpan.
SYNTAKS TRIGGER

 BEFORE | AFTER digunakan untuk


menentukan kapan proses secara otomatis akan
dieksekusi, sebelum atau sesudah proses.
 INSERT | UPDATE | DELETE digunakan
untuk menentukan event yang dijadikan trigger
untuk menjalankan perintah-perintah didalam
triggers
SYNTAKS TRIGGER
 Statement atau perintah dalam trigger dapat berupa satu perintah saja, dan dapat juga
beberapa perintah sekaligus
 Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan
END untuk mengawali dan mengakhiri perintah
 Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah
proses dengan menggunakan NEW dan OLD.
 NEW digunakan untuk mengambil record yang akan diproses (insert atau update)
 OLD digunakan untuk mengakses record yang sudah diproses (update atau delete)
CONTOH TRIGGER

Berikut ini contoh trigger pada tabel barang dan tabel pembelian
 Tabel barang

• Tabel Pembelian
CONTOH TRIGGER

Isikan masing-masing tabel dengan data


sebagai berikut  Tabel Pembelian
 Tabel barang
MENGGUNAKAN OPERASI TRIGGER

 Operasi-operasi Trigger berkenaan dengan


pendefinisian trigger dengan obejek-objek databse
lainnya.
• Pernyataan trigger pada contoh mempunyai arti untuk
 Pernyataan Trigger menambah nilai stock dengan nilai 2 setiap kali ada
penambahan data baru.
• Untuk memastikan kerja trigger berikan perintah untuk
menambah data baru
INSERT INTO barang Values (‘A13’,‘Modem’, 5);
MENGGUNAKAN OPERASI TRIGGER (2)
 Contoh berikut memperlihatkan
penggunaan keyword NEW pada Trigger
 Keyword OLD dan NEW INSERT
Untuk merujuk ke kolom-kolom tabel yang
disosiasikan dengan trigger, dapat
menggunakan keyword OLD dan NEW.
Keyword OLD mengacu kepada nilai lama,
dan keyword NEW mempresentasikan nilai
baru. Pada Trigger INSERT, hanya dapat
menggunakan keyword NEW karena tidak
ada data lama

 Pada contoh diatas, penambahan data pembelian akan


mengakibatkan nilai stock barang berubah menyesuaikan banyaknya
nilai pembelian
MENGGUNAKAN OPERASI TRIGGER (2)

 DELETE
 UPDATE
Khusus untuk Trigger DELETE, Keyword yang di gunakan
hanya OLD. Misalnya kita ingin mendefinisikan trigger untuk Khusus untuk Trigger UPDATE, dapat memanfaatkan NEW
menghapus semua data pembelian dimana data barang yang maupun OLD
sesuai diindikasikan melalui Primary Key dan Foreign Key
dihapus

Contoh :
UPDATE pembelian SET jml_pembelian = 10
WHERE id_pembelian = 1;
MENGHAPUS TRIGGER

 Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti nama tabel dan nama
triggernya.
 Berikut ini bentuk umum dan contoh perintah untuk menghapus trigger.
VARIABEL

 Variabel digunakan untuk menyimpan suatu nilai secara temporer (sementara) di memory. Variabel akan
hilang saat tidak digunakan lagi
 Variabel dalam MySQL sebelum dapat digunakan, pertama kali harus dideklarasikan terlebih dahulu
VARIABEL

 CONTOH :  Setelah dideklarasikan, suatu variabel dapat diisi


suatu nilai sesuai dengan tipe data yang
DECLARE jumlah INT;
didefinisikan saat pendeklarasian. Untuk pengisian
DECLARE kode VARCHAR(5); nilai kedalam suatu variabel, digunakan perintah
DECLARE tgl_lahir DATE DEFAULT ‘1982-10-20’; SET.
STRUKTUR KONDISI

 IF-ELSE
STRUKTUR KONDISI

 CASE
LATIHAN 1

 Membuat trigger untuk menyimpan perubahan yang terjadi.


 Buatlah 1 database baru dengan nama (latihan_trigger).
 Kemudian buat dua tabel :
 t_mhs
 log_t_mhs
LATIHAN 1

 tabel t_mhs
LATIHAN 1

 tabel log_t_mhs
LATIHAN 1

 BUAT TRIGGER

Jalankan dengan menekan execute SQL (tanda yang dilingkri


merah)
LATIHAN 1

o Buka tabel t_mhs, kemudian isi dengan beberapa data baru. Catatan : yang diisi
hanya nama, nim, dan jurusan.
o Kemudian lakukan edit pada data-data yang sudah diisi. Lihat perubahan pada tabel
log_t_mhs.
LATIHAN 2

o Membuat perhitungan matematika dengan menggunakan trigger.


o Buatlah 2 tabel :
 hitung_math
 Hasil_hitung_math
LATIHAN 2

 Tabel hitung_math
LATIHAN 2

 Tabel hasil_hitung_math
LATIHAN 2
LATIHAN 2

o Buka tabel hitung_math, kemudian isi dengan beberapa nilai yang ingin dilakukan
proses matematika.
o Lihat perubahan hasilnya pada tabel hasi_hitung_math
LATIHAN 3

o Validasi input menggunakan trigger


o Buat 1 buah tabel identitas (t_identitas)
LATIHAN 3
LATIHAN 3

o Buka tabel t_identitas, kemudian isi dengan data-data yang sesuia. Isikan noHP dengan
diawali angka 0 (misal : 081313217486)
o Save dan lihat perubahan hasilnya pada tabel yang sama.

You might also like