【问题标题】:How can I make trigger from two different tables?如何从两个不同的表中触发?
【发布时间】:2013-01-03 03:51:01
【问题描述】:

如何让触发器从两个不同表中的两个单独属性中读取,然后 计算一些东西。

这是我想做的代码,但是mysql说它有问题

CREATE TRIGGER `fee_calculate` BEFORE INSERT ON `BookingRoom`
FOR EACH ROW BEGIN 
SET NEW.fee = `Booking.Night_Qty` *  `Room.RoomPrice` ;
END 

【问题讨论】:

  • 在 Postgres 中,您将为此使用触发器函数。我不知道在 MySQL 中执行此操作的语法。
  • BookingRoom 是关联表吗?如果是这样,您肯定想以AFTER INSERT 的身份执行此操作,而不是以前。您将需要分别从BookingRoom 中选择相关值。
  • Booking.Night_QtyRoom.RoomPrice 代表什么?

标签: mysql sql database triggers


【解决方案1】:

我认为它应该可以帮助你

我做了一些假设:

  1. 我假设您想使用与 Products 表匹配的 productID 更新 reorders 表。 (您可以进行插入,但可能会遇到 PK 问题,具体取决于您的表格设置方式)。
  2. 我认为重新订购的金额会放在那里。
  3. 我没有包含交易语句,我建议添加这些以便记录。

CREATE 触发器 updateprod 关于产品 更新为 开始 声明@qtyonhand int, @reorder int 如果更新(QtyonHand) 开始 选择@qtyonhand = QtyonHand,@reorder = ReorderAmount 从插入 如果@qtyonhand = @reorder 开始 从 ProductID = ProductID 的重新订购中删除 结尾 结尾 结束

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-24
    • 1970-01-01
    • 2019-04-24
    • 2021-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多