2013-01-03 40 views
0

我怎樣才能使觸發器從兩個不同的表中分離出兩個屬性,然後 計算出一些東西。如何從兩個不同的表格中進行觸發?

這是我想要的代碼,但MySQL的說,它有問題

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

在Postgres中,您將使用觸發器功能。我不知道在MySQL中這樣做的語法。 – Flimzy

+0

BookingRoom是關聯表嗎?如果是這樣,你一定想把它作爲'AFTER INSERT',而不是之前的。您需要分別從「預訂」和「房間」中選擇關聯的值。 – Perception

+0

** Booking.Night_Qty **和** Room.RoomPrice **代表什麼? –

回答

0

我認爲它應該幫助你

我做了一些假設:

  1. 我以爲你想要用與產品表相匹配的productID更新重新排序表。 (你可以做一個插入,但可能會遇到PK問題,這取決於你如何設置表格)。
  2. 我認爲重新排序的金額將被放置在那裏。
  3. 我沒有包括交易聲明,我會建議添加這些記錄。

創建產品 用於更新觸發updateprod 作爲 開始 DECLARE @qtyonhand INT, @reorder詮釋 如果更新(QtyonHand) 開始 選擇@qtyonhand = QtyonHand,@重新排序= ReorderAmount從插入​​ 如果@qtyonhand < @reorder 開始 更新重新排序集ReorderAmount = @reorder,ReorderDate = GETDATE() 端 否則如果@qtyonhand> = @reorder 開始 刪除重新排列產品ID =產品ID 結束 結束 結束

相關問題