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.

Trigger di MySQL 5