最近做個倉庫管理系統,請教一下大家,歷史庫存如何實作?
1、每天定時把庫存表的資料匯入到歷史庫表??
2、大家對庫存更新采用什么方式?保存好出入庫單后再對資料視窗中的商品清單一條條取出用update sql陳述句更新到資料庫?這種方式安全嗎?突然斷電或什么會不會只更新了部份的庫存?還是寫個存盤程序來更新?
uj5u.com熱心網友回復:
我的看法:1.每月月底做一次月結記錄庫存資料,作為歷史記錄;每天保存庫存歷史資料量太大擔心會令資料庫性能變差。
2.可以保存數入庫單,按'入庫'就更新庫存,如果更新不成功就回滾。
uj5u.com熱心網友回復:
庫存可以根據你輸入的單據自動生成嘛。可以把入庫、出庫、調撥、盤點什么的資料放在一個表里,另一個表放月初庫存,
這樣就好操作了。
就是寫計算庫存的存盤程序麻煩了點。但這樣的思路,資料的安全性是很高的
uj5u.com熱心網友回復:
同意一樓的說法,也不一定是月結,喜歡什么時候結就讓管理員自己結uj5u.com熱心網友回復:
進銷存也就是這種處理方式啊.uj5u.com熱心網友回復:
歷史庫存一般有2種方式:保存歷史狀態資訊或歷史程序資訊
1、每天定時把庫存表的資料匯入到歷史庫表??-----------------一般不必用這么煩瑣的方式
2、大家對庫存更新采用什么方式?保存好出入庫單后再對資料視窗中的商品清單一條條取出用update sql陳述句更新到資料庫?這種方式安全嗎?突然斷電或什么會不會只更新了部份的庫存?還是寫個存盤程序來更新? ----------------通過事務控制,這是資料庫系統最基本的內容
uj5u.com熱心網友回復:
SOFTFUN_CSDN的看法我認同
歷史庫一般一個月做一次就可以了 把單據結清的轉到歷史庫
uj5u.com熱心網友回復:
碰到修改單據后,庫存怎么重新寫入歷史庫呢?uj5u.com熱心網友回復:
業務上不能這樣操作。
uj5u.com熱心網友回復:
1、可以通過庫存月結進行保存歷史資訊2、碰到修改單據時,如果單據在本月還沒有進行月結時,可以進行修改,一但月結后不允許修改(除非作廢掉本月月結庫存)。
uj5u.com熱心網友回復:
"通過事務控制,這是資料庫系統最基本的內容 "這具體是怎麼控制
uj5u.com熱心網友回復:
你可以再建立一個新的資料庫,在新的資料庫里關聯舊資料庫的價格體系(包括銷售價格體系和進價的價格體系),那你的程式可以在新資料庫和舊的資料庫的切換就可以了。在舊的資料庫里的歷史資料,在新的資料庫里進行開單,并且查看新的庫存。uj5u.com熱心網友回復:
每筆業務都按 id(自增長) 日期 商品 增加數量 減少數量 結余數量 這樣記錄到一個表里,這樣你想查什么時候的庫存都有Select 商品,結余數量
from table inner join (
select max(id) as id from table
where 日期<='XXXX-XX-XX'
group by 商品) a on table.id = a.id
就是這個表資料量大了點
uj5u.com熱心網友回復:
各人的想不同,有人也就用單據加起來算uj5u.com熱心網友回復:
sqlca.autocommit = false
在寫insert ,update,delete時候注意commit,出錯的時候rollback;
注意,代碼注意資料庫死鎖。
uj5u.com熱心網友回復:
在服務器寫個程式,在晚上的某個時間自動整理一下.uj5u.com熱心網友回復:
對于大資料表,有幾種方法:1.一般情況下可以增加歷史表,定時將生產表的資料歸檔,如果需要查詢歷史表資料,應用就得多下功夫,在SQL陳述句下功夫,業務比較復雜就不好了,更新的話也不太好。
2.如果是oracle資料庫,可以考慮使用磁區表,好像SQL SERVER 2005以上也有磁區表。
3.優化你的索引也能改善性能。
uj5u.com熱心網友回復:
我是這樣子的,做一個流水表,做存盤程序對庫存進行加減而登錄流水表.多用戶下也很少出現資料問題.
uj5u.com熱心網友回復:
我是這么做的,入庫表,出庫表,原始庫存進入入庫表 ,原始庫存+ 入庫 - 出庫 =庫存,所以庫存表是個視圖,不用更新,只要出,入庫成功了,庫存表自動就更新了uj5u.com熱心網友回復:
我是這么做的,入庫表,出庫表,原始庫存進入入庫表 ,原始庫存+ 入庫 - 出庫 =庫存,所以庫存表是個視圖,不用更新,只要出,入庫成功了,庫存表自動就更新了轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/100852.html
標籤:項目管理
