
Dalam membuat aplikasi database MySQL 5, kita bisa meletakkan fungsi-fungsi yang merupakan bisnis prosesnya dengan 2 pilihan
Tabel Sales Order
Sebagai contoh kita akan membuat tabel sales order dan diisi dengan sebuah data:
CREATE TABLE sales_order(
customer_name VARCHAR( 50 ) NOT NULL ,
total_price DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
total_hpp DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
profit DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
so_id INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (so_id)
) ENGINE = InnoDB;
INSERT INTO sales_order (customer_name,so_id) VALUES ('Serba Prima', 1);
Hasilnya bisa dilihat di phpmyadmin :
Tabel Sales Item
Kemudian kita akan membuat tabel sales_item diisi dengan 2 data:
CREATE TABLE sales_item(
so_id INT NOT NULL ,
item_name VARCHAR( 100 ) NOT NULL ,
item_price DECIMAL( 8, 0 ) NOT NULL ,
hpp DECIMAL( 8, 0 ) NOT NULL ,
item_id INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (item_id)
) ENGINE = InnoDB;
INSERT INTO sales_item(so_id,item_name,item_price,hpp) VALUES (1, 'Keyboard', 100000,85000);
INSERT INTO sales_item(so_id,item_name,item_price,hpp) VALUES (1, 'Mouse', 50000,40000);
Hasilnya :
Store Procedure Resume Sales Order
Kemudian Store Procedurenya
CREATE PROCEDURE resume_sales_order (IN p_so_id INT)
BEGIN
DECLARE v_total_price DECIMAL;
DECLARE v_total_hpp DECIMAL;
SELECT SUM(item_price),SUM(hpp) INTO v_total_price,v_total_hpp FROM sales_item WHERE so_id=p_so_id;
UPDATE sales_order SET total_price=v_total_price,total_hpp=v_total_hpp,profit=v_total_price-v_total_hpp WHERE so_id=p_so_id;
END
//
Untuk membuatnya pastikan delimiternya //
Menjalankan Store Procedure
Untuk menjalankan store procedurnya dengan menjalankan
CALL resume_sales_order(1)
dan isi tabel sales_order akan menjadi :
Di sini terlihat total_pricenya berubah dari 0 menjadi 150000, total_hpp menjadi 12500 dan profit menjadi 25000.
Langkah berikutnya adalah membuat Trigger di MySQL 5 .
Kunjungi www.proweb.co.id untuk menambah wawasan anda.
PT. Proweb Indonesia
Perkantoran Duta Merlin No F4
Jl. Gadjah Mada 3-5
Jakarta Pusat
GPS: S 6o 09' 58.1", E 106o 49' 3.3"
| Phone | : | 021 - 2636 3170 |
| 021 - 3377 0050 | ||
| Mobile | : | 0856 - 9360 1378 |
| 0812 - 806 2772 | ||
| 0857 - 1586 8992 | ||
| 0816 - 180 8005 | ||
| Blackberry PIN | : | 23096502 |
| Fax | : | 021 - 633 5765 |
| Web | : | www.proweb.co.id |