Trigger dalam sebuah database merupakan objek yang digunakan untuk mengatur atau mengatur tindakan yang akan terjadi ketika suatu peristiwa tertentu terjadi. Dalam konteks database, trigger biasanya digunakan untuk mengontrol akses ke data, menerapkan aturan bisnis, memonitor perubahan data, dan melakukan tindakan otomatis ketika terjadi perubahan pada tabel tertentu.
Apa Itu Trigger?
Trigger dapat dipicu oleh berbagai jenis peristiwa, seperti INSERT, UPDATE, DELETE, atau perintah DDL seperti CREATE, ALTER, dan DROP. Ketika peristiwa tertentu terjadi pada tabel atau database, trigger akan diaktifkan dan menjalankan kode yang telah ditetapkan sebelumnya.
Manfaat Trigger
Trigger memiliki berbagai manfaat dalam pengelolaan database, di antaranya:
- Menerapkan aturan bisnis dengan otomatis sehingga mengurangi kesalahan manusia.
- Memastikan integritas data dengan melakukan validasi sebelum melakukan perubahan pada tabel.
- Memonitor perubahan data untuk keperluan pelaporan atau audit.
- Mengotomatiskan tindakan tertentu ketika suatu peristiwa terjadi.
Jenis-Jenis Trigger
Terdapat beberapa jenis trigger yang umum digunakan dalam database, yaitu:
- Trigger BEFORE: Trigger ini dijalankan sebelum peristiwa yang memicu trigger terjadi.
- Trigger AFTER: Trigger ini dijalankan setelah peristiwa yang memicu trigger terjadi.
- Trigger INSTEAD OF: Trigger ini dijalankan sebagai pengganti peristiwa yang seharusnya terjadi.
Syntax Trigger
Sintaks dasar untuk membuat trigger dalam SQL sebagai berikut:
CREATE [OR REPLACE] TRIGGER nama_trigger
{BEFORE | AFTER | INSTEAD OF} {INSERT | UPDATE | DELETE}
ON nama_tabel
FOR EACH ROW
BEGIN
-- kode trigger
END;
Dalam kode trigger, Anda dapat menuliskan perintah-perintah SQL yang ingin dijalankan ketika trigger diaktifkan, seperti melakukan pengecekan validasi, mengubah nilai data, atau mengeksekusi perintah lain.
Contoh Penggunaan Trigger
Sebagai contoh, kita akan membuat trigger yang akan mengubah harga barang menjadi 10% lebih tinggi setiap kali ada penambahan stok barang.
CREATE OR REPLACE TRIGGER tambah_stok_trigger
AFTER INSERT
ON stok_barang
FOR EACH ROW
BEGIN
UPDATE barang
SET harga = harga * 1.1
WHERE id_barang = :new.id_barang;
END;
Dalam contoh di atas, trigger tambah_stok_trigger akan diaktifkan setelah dilakukan penambahan data pada tabel stok_barang. Trigger ini akan mengubah nilai harga barang yang terkait dengan stok barang yang baru ditambahkan.
Kesimpulan
Trigger merupakan salah satu fitur penting dalam pengelolaan database untuk mengontrol peristiwa-peristiwa tertentu dan menjalankan tindakan yang sudah ditetapkan sebelumnya. Dengan menggunakan trigger, Anda dapat mengotomatiskan proses bisnis, memastikan integritas data, dan memonitor perubahan data dengan lebih efisien.