Cara menggunakan delete trigger mysql

in MySQL

Menurut Wikipedia, trigger dalam database diartikan sebagai “procedural code that is automatically executed in response to certain events on a particular table or view in a database“. Singkatnya, trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’ sebelum menghapus data di tabel pelanggan.

Di MySQL, Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini.

Trigger sering digunakan, antara lain untuk:

  • Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru 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 digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.

Membuat Trigger Baru

Berikut ini bentuk umum perintah untuk membuat triggers:

CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement

Keterangan dari bentuk umum perintah membuat trigger:

  • name, Nama trigger mengikuti peraturan penamaan variabel / identifier dalam MySQL
  • [BEFORE | AFTER] digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
  • [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses) yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
  • tablename, merupakan nama tabel dimana trigger berada.
  • statement, merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan jika event / proses yang didefinisikan sebelumnya aktif.

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), sedangkan OLD digunakan untuk mengakses record yang sudah diproses (update atau delete).

Berikut ini contoh trigger yang akan mencatat aktivitas ke tabel log setiap terjadi proses insert ke tabel pelanggan:

DELIMITER $$

CREATE TRIGGER penjualan.before_insert BEFORE INSERT ON penjualan.pelanggan
FOR EACH ROW BEGIN
INSERT INTO `log` (description, `datetime`, user_id)
VALUES (CONCAT('Insert data ke tabel pelanggan id_plg = ', NEW.id_pelanggan), now(), user());
END;
$$ 

DELIMITER ;

Menghapus Trigger

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

Bentuk umum dan contoh menghapus trigger:

DROP TRIGGER tablename.triggername;

Contoh menghapus trigger bernama ‘before_insert’ yang ada di tabel pelanggan.

DROP TRIGGER penjualan.before_insert;

Sumber: Buku MySQL 5: Dari Pemula Hingga Mahir oleh Achmad Solichin

Please follow and like us:

Cara menggunakan delete trigger mysql

Cara menggunakan delete trigger mysql

Cara Membuat Trigger pada Database MySQL. Assalamualaikum, jumpa lagi di sahretech. Trigger adalah salah satu fungsi yang ada di dalam RDBMS, fungsinya adalah melakukan perubahan pada suatu tabel saat terjadi aksi pada suatu tabel lainnya. Gampannya, ada tabel barang dan tabel barang_masuk. Logikanya kalo kita melakukan penambahan barang pada tabel barang_masuk maka otomatis jumlah barang yang ada di tabel barang akan berbubah juga. Nah disinilah fungsi trigger. Masih kesulitan memahami kerja trigger ?, ikuti tutorialnya berikut ini.

Kapan Menggunakan Trigger?

Salah satu contoh sederhana yang dapat kita terapkan adalah contoh tabel barang dan tabel barang_masuk. Saat ada penambahan barang pada tabel barang_masuk maka otomatis jumlah barang pada tabel barang juga akan bertambah.

Trigger tidak hanya digunakkan saat terjadi akitifitas insert, tapi bisa juga digunakan saat terjadi aktifitas update ataupun delete. Dari permasalahan yang dijelaskan sebelumnya, kita akan mencoba menerapkannya pada tutorial kali ini.

Format Penulisan Trigger

trigger memiliki format penulisan sendiri, jika kalian menuliskan baris sqlnya maka akan seperti di bawah ini. Tapi pada tutorial kali ini kita akan menggunakan menu yang ada di phpmyadmin jadi penulisan sqlnya agak sedikit berbedada, sehingga diharapkan teman-teman lebih mengerti dengan menggunakan interface.


CREATE TRIGGER trigger_name
{BEFORE | AFTER} {INSERT | UPDATE| DELETE }
ON table_name FOR EACH ROW
trigger_body;

Kalo kita artikan, buat trigger dengan nama trigger_name (sebelum atau sesudah) aksi (memasukkan atau mengedit atau menghapus) pada tabel table_name untuk setiap baris. Lalu isi pada trigger_body kata-kata yang sama saat kita memasukan, mengedit atau menghapus data. Jadi trigger ini bisa disesuaikan dengan aksinya.

Tahapan 4 dan 5 adalah membuat trigger yang berbeda. Jadi tidak masalah kalau hanya mengikuti tahap 1 sampai 3 saja. Untuk yang sudah mengerti saya rasa bisa mengambil tahap 4 atau 5 saja, karena mungkin teman-teman hanya ingin lihat cara penggunaan trigger dengan aktifitas lain.

Sekian Tutorial Cara Membuat Trigger pada Database MySQL. Lebih dan kurangnya saya mohon maaf. Apabila ada pertanyaan, kritik, saran dan request tutorial silahkan tinggalkan di kolom komentar di bawah ini. Happy coding dan sampai jumpa di tutorial seru lainnya :)


Bagaimana tata cara menghapus trigger adalah?

Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya.

Apa peristiwa yang menyebabkan trigger dilakukan?

trigger_event : merupakan event atau peristiwa yang menyebabkan trigger dilakukan.

Apakah yang di sebut trigger dalam MySql?

Trigger dalam database adalah kode prosedural yang secara otomatis dijalankan untuk menanggapi perubahan tertentu pada table tertentu atau tampilan dalam database. Trigger dapat didefinisikan untuk menjalankan penrintah sebelum atau setelah eksekusi DML (Data Manipulation Language) seperti INSERT, UPDATE, dan DELETE.

Apa yang dimaksud dengan trigger di dalam SQL?

Trigger dapat didefinisikan sebagai himpunan kode (prosedural) yang dieksekusi secara otomatis sebagai respon atas suatu kejadian berkaitan dengan tabel basis data. Kejadian (event) yang dapat membangkitkan trigger umumnya berupa pernyataan INSERT, UPDATE, dan DELETE.