创建触发器,实现入库、出库时相应类型矿泉水的数量的增加或减少
时间: 2024-03-02 16:51:43 浏览: 70
假设我们有一个名为 `inventory` 的表,其中包含以下列:
- `product_id`:int,表示产品的唯一标识符
- `product_name`:varchar,表示产品的名称
- `product_type`:varchar,表示产品的类型(例如矿泉水、苏打水等)
- `quantity`:int,表示产品的库存数量
我们可以创建两个触发器,一个用于入库时更新库存数量,另一个用于出库时更新库存数量。这里提供一个 MySQL 的示例代码:
```mysql
-- 创建入库触发器
CREATE TRIGGER update_inventory_on_insert
AFTER INSERT ON inventory
FOR EACH ROW
BEGIN
IF NEW.product_type = '矿泉水' THEN
UPDATE inventory
SET quantity = quantity + NEW.quantity
WHERE product_id = NEW.product_id;
END IF;
END;
-- 创建出库触发器
CREATE TRIGGER update_inventory_on_delete
AFTER DELETE ON inventory
FOR EACH ROW
BEGIN
IF OLD.product_type = '矿泉水' THEN
UPDATE inventory
SET quantity = quantity - OLD.quantity
WHERE product_id = OLD.product_id;
END IF;
END;
```
这里的 `NEW` 和 `OLD` 分别代表插入或删除记录时的新值和旧值。注意,这里只考虑了矿泉水产品的情况,如果需要支持其他类型的产品,可以在触发器中添加相应的逻辑。
阅读全文