Cara Membuat Trigger Batal di MySQL

Halo semua, kemarin kita sudah mempelajari trigger. Bagaimana sudah mengerti belum? Hari ini kita akan membuat sebuah trigger lagi. Yaitu trigger batal. Akan saya jelaskan alurnya, jika ada yang membeli barang di sebuah toko, terkadang ada yang membatalkan pembeliannya bukan? Padahal, kita sudah secara otomatis mengurangi stok barang yang ada. Bagaimana cara mengembalikan stok seperti yang semula? Kita bisa menggunakan trigger. Sama halnya dengan trigger yang kemarin sudah dibuat. Langsung saja ya.

Langkah 1 : Jika belum mengerti apa itu trigger, coba pelajari di artikel berikut ini. Ikuti stepnya dan buat juga table beserta triggernya.

Langkah 2 : Buat trigger batal_beli.

CREATE TRIGGER batal_beli after DELETE ON jual
 FOR EACH ROW BEGIN
 UPDATE stok
 SET jumlah = jumlah + OLD.jumlah
 WHERE
 kd_barang = OLD.kd_barang;
 END$$  

Keterangan : Trigger diberi nama batal_beli, dan trigger akan bekerja setelah menghapus data dalam table jual. Dan secara otomatis akan menambahkan kembali stok barang kedalam table stok sesuai dengan data yang telah dihapus. Jika kemarin kita menggunakan NEW sekarang kita menggunakan OLD karena kita akan mengembalikan data lama yang pernah dikurangi.

Langkah 3 : Lihatlah data yang ada di table stok.

trigger-batal-mysql

Kita fokuskan pada barang yang memiliki kode K003 dan jumlah 70.

Langkah 4 : Cobalah untuk menghapus sebuah data yang sama yaitu barang berkode K003 yang ada di table jual.

trigger-batal-mysql

Lalu klik OK.

Langkah 5 : Kembalilah untuk melihat table stok. Perhatikan barang yang berkode K003.

trigger-batal-mysql

Barang K003 yang pada awalnya berjumlah 100, lalu kemudian dibeli oleh pelanggan sebanyak 30. Sehingga barang yang tersisa di stok adalah 70. Namun, karena pelanggan membatalkan pembeliannya, barang yang akan dibeli tersebut dikembalikan. Sehingga barang K003 berjumlah 100 kembali.

Selesai! Sangat mudah bukan? :)

Note :

1. Cara menghapus trigger adalah dengan memberikan perintah SQL seperti berikut

DROP TRIGGER nama_trigger

2. Trigger tidak bisa diubah dengan ALTER, untuk mengubahnya dengan cara DROP TRIGGER lalu buat kembali triggernya.

Semoga bermanfaat ya semuanya :)

7 Juli 2014

Webinar Gratis 2024


Selanjutnya Pada Bulan Maret 2024

Sabtu, 09 Maret 2024


10 Bahasa Rekomendasi Untuk Dipelajari di 2024

Python Developer, Data Science, Web Application

Kursus Python Django Web Application 2024 di DUMET School Mini Bootcamp Backend Laravel 11 Bulan Mei 2024 di DUMET School
Webinar Selanjutnya Mei 2024

Minggu, 26 Mei 2024, 09.00-13.00 WIB

(4 Jam Membuat Backend di Laravel 11)

chat