如何在使用C#更新另一个表时自动更新表
大家好,我有4个使用MySql数据库的表,即:
tb_item (
id_item, (varchar) --> PK
item_name, (varchar)
price, (double)
)
tb_order (
id_order, (varchar) --> PK
id_item, (varchar) -->FK
date_order, (date)
lead_time, (float)
order_quantity, (double)
)
tb_use (
id_use, (varchar) --> PK
id_item, (varchar) -->FK
date_use, (date)
use_quantity, (double)
)
tb_inventory (
id_inventory, (varchar) --> PK
id_item, (varchar) --> FK
id_order, (varchar) --> FK
id_use, (varchar) --> FK
item_stock, (double)
)
我的问题是,我想要自动更新tb_order.order_quantity或tb_use.use_quantity中的item_stock in tb_inventory:当tb_inventory.item_stock被更新时,tb_inventory.item_stock将通过计算“tb_order.order_quantity- tb_use.use_quantity =tb_inventory.item_stock”(例如:10-7= 3)自动更新。反之亦然。如何为C#中的问题创建代码。
请帮忙,谢谢。
发布于 2011-09-25 09:18:08
您可以使用触发器进行此操作,但最好将数据库规范化,以便只将这些信息存储在一个地方。如果您使用触发器,并且数据库被错误地更新,该错误可能会持续很长一段时间而不被注意到。
另一种方法是创建一个视图,通过查询其他表来计算库存量。这将对性能造成轻微影响,因为每次请求时都必须重新计算该值。通过添加索引可以部分解决此性能问题,从而使重新计算非常快速。最后,这取决于您是否更感兴趣的原始速度,或一致性和正确性的结果。
https://stackoverflow.com/questions/7544612
复制相似问题