Minggu, 13 Desember 2020

Contoh SQL Update Jumlah Stok



Mekanisme proses akumulasi data menambah/mengurangi sbb:

    Data jumlah barang masuk/keluar akan tercatat pada masing-masing tabel yg bersangkutan , kemudian data akan diproses oleh sistem untuk diakumulasikan pada tabel data 'barang/stok'.

    Ketika data baru tercatat maka kolom 'proses' akan diset dengan nilai 0 , kemudian sistem akan merubah semua data yg bernilai 0 menjadi 1 untuk menandakan data tersebut akan diproses/diakumulasikan ke tabel stok, setelah proses akumulasi selesai maka kolom proses akan diset nilainya menjadi 2 sebagai tanda data telah diproses.

nb:

pada tabel barang masuk/keluar terdapat kolom 'proses' berfungsi untuk memberikan status data sbb:

0=data baru masuk

1=data akan diproses akumulasi

2=data sudah terakumulasi ke tabel stok


Sintax MySQL :

Nama Tabel Barang : t_stok

Nama Tabel Masuk : t_barang_masuk

jumlah barang pada tabel 't_barang_masuk' akan ditotal(SUM) berdasarkan 'kode_barang', kemudian hasilnya diakumulasikan ke tabel 't_stok'

Sintax 1 :

UPDATE t_barang_masuk SET proses=1 WHERE proses=0


Sintax 2 :

UPDATE t_stok AS st

INNER JOIN

SELECT kode_barang,proses,SUM(jumlah) AS jumlah_masuk FROM t_barang_masuk AS bm 

WHERE bm.proses=1 GROUP BY bm.kode_barang ) AS ij 

ON st.kode_barang=ij.kode_barang 

SET st.jumlah=(st.jumlah+ij.jumlah_masuk) 

WHERE ij.proses=1 


Sintax 3 :

UPDATE t_barang_masuk SET proses=2 WHERE proses=1