讓我們先從這個表:MySQL的存儲過程把庫存移動到庫存
CREATE TABLE IF NOT EXISTS `resourceMovement` (
`resourceID` INT(4) UNSIGNED NOT NULL ,
`movementDateTime` DATETIME NOT NULL ,
`movementQuantity` INT(11) UNSIGNED NOT NULL ,
`fromLocationID` INT(4) UNSIGNED NULL ,
`fromIndividualID` INT(11) UNSIGNED NULL ,
`fromDeptID` INT(4) UNSIGNED NULL ,
`toLocationID` INT(4) UNSIGNED NULL ,
`toIndividualID` INT(11) UNSIGNED NULL ,
`toDeptID` INT(4) UNSIGNED NULL ,
`lastUpdated` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY (`resourceID`, `movementDateTime`, `movementQuantity`) ,
[ List of foreign key constraints. ]
這種跟蹤是如何隨着時間的特定RESOURCEID的特定量會從一個部門/位置/人轉移到另一個部門/位置/人。
我想要做的是創建一個...東西。一個過程或一個觸發器或一個視圖,該視圖循環遍歷toLocationID/toIndividualID/toDeptID值,併爲與這些目標相關的每個資源ID生成運行清單。
在MySQL存儲過程中,我甚至沒有足夠的好處來做到這一點。
我想我可以創建三個正在運行的庫存表,每個部門,位置和人員各一個,並且有一個觸發器在更新移動表時更新這些表。常規桌子或臨時桌子會更好嗎?
而詳細的問題一直在持續。所以,我只是留下一個普遍的問題:掃描表格以審覈庫存移動以確定實際運行庫存的最佳方式是什麼?
謝謝!
你可以有他們所有的部門,地點,人員表和一個庫存表.. :) – bonCodigo
我可以。創建表格並不是最難的部分。創建觸發器或存儲過程是困難的部分...... :-)我可以在PHP中執行此操作,但在MySQL中保留這些更新似乎更快。 – dafydd
你不想爲此使用臨時表;它們只對擁有的連接可見,並且在連接關閉時被刪除,而這些數據可以由一系列連接共享。 –