让我们从这张表开始:
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. ]
这会随着时间的推移跟踪特定数量的特定资源 ID 如何从一个部门/位置/人员移动到另一个部门/位置/人员。
我想做的是创造一个……东西。循环遍历 toLocationID/toIndividualID/toDeptID 值并为与这些目的地关联的每个 resourceID 生成运行清单的过程或触发器或视图。
我什至在 MySQL 存储过程方面还不够好,无法有效地做到这一点。
我想我可以创建三个正在运行的库存表,每个用于部门、位置和人员,并有一个触发器来随着移动表的更新而更新这些表。常规表或临时表会更好吗?
细节问题不断出现。所以,我将只留下一般性问题:扫描审核库存移动的表以确定实际运行库存的最佳方法是什么?
谢谢!