Как автоматически обновить таблицу при обновлении другой таблицы с помощью C # - PullRequest
0 голосов
/ 25 сентября 2011

Как автоматически обновить таблицу при обновлении другой таблицы. Использование 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)
)

Моя проблемая хочу item_stock в tb_inventory автоматически обновляться: когда tb_order.order_quantity или tb_use.use_quantity обновляются, затем tb_inventory.item_stock будет обновляться автоматически с помощью вычисления « tb_order.order_quantity - tb_use.use_quantity = tb_inventory.item_stock » (пример: 10 - 7 = 3).и наоборот.Как создать код для проблемы в C #.

Пожалуйста, помогите, заранее спасибо.

1 Ответ

1 голос
/ 25 сентября 2011

Вы можете сделать это, используя триггеры , но было бы лучше нормализовать вашу базу данных, чтобы эта информация хранилась только в одном месте. Если вы используете триггеры и каким-то образом база данных обновляется неправильно, эта ошибка может сохраняться в течение длительного времени незамеченным.

Альтернативой является создание представления, которое вычисляет количество запаса, запрашивая другие таблицы. Это приведет к небольшому снижению производительности, поскольку значение будет пересчитываться при каждом запросе. Это снижение производительности может быть частично устранено путем добавления индексов, чтобы сделать пересчет очень быстрым. В конце концов, это зависит от того, больше ли вас интересует грубая скорость или последовательность и правильность результата.

...