Dengan menggunakan trigger, kita dapat merancang supaya konsistensi tabel akan terjaga. Pada artikel Store Procedure di MySQl 5 kita telah :
a. membuat tabel sales_order yang berisi data pelanggan dan total harga
b. membuat tabel sales_item yang merupakan data detail berupa nama barang dan harga barang
c. Store Procedure untuk mengupdate total harga dari semua barang
Langkah selanjutnya adalah membuat trigger sehingga data tabel sales_order akan terupdate, jika tabel sales_item diupdate baik lewat coding PHP, lewat phpmyadmin, lewat command line atau lewat bahasa pemrograman lain.
Trigger saat Insert
Untuk membuat trigger saat menambah data :
CREATE TRIGGER sales_item_insert AFTER INSERT
ON sales_item
FOR EACH ROW
BEGIN
CALL resume_sales_order(NEW.so_id);
END
//
Insert di tabel sales_item
Misal kita membuat data baru
INSERT INTO sales_item(so_id,item_name,item_price,hpp) VALUES (1, ‘Hardisk ‘, 500000,400000);
Maka data sebagai berikut:
Hasil di sales_order
Dengan demikian setiap penambahan data di sales_item, maka total_price akan akan terupdate.
Trigger saat update
Supaya saat update di sales_item juga mengupdate total_price, maka trigger saat update perlu dibuat:
CREATE TRIGGER sales_item_update AFTER UPDATE
ON sales_item
FOR EACH ROW
BEGIN
CALL resume_sales_order(NEW.so_id);
END
//
Trigger saat delete
Begitu saat delete
CREATE TRIGGER sales_item_delete AFTER DELETE
ON sales_item
FOR EACH ROW
BEGIN
CALL resume_sales_order(OLD.so_id);
END
//
Kunjungi www.proweb.co.id untuk menambah wawasan anda.