我有這些表後存儲過程使INSERT,UPDATE,其他表觸發
- Tourist_ID-外鍵
- Reservation_ID - 外鍵的訂房
Extra_Charges表
- Extra_Charge_ID
- 金額
- 說明 個
Tourist_Extra_Charges
- Tourist_ID - 外鍵
- Extra_Charge_ID - 外鍵
但是,當一個用戶在第一次進行預約 - 例如,基本包費用500歐元 - 它被插入Reservation
表中的TotalAmount
列。
但是,在下一個表格中,用戶可以選擇extra_charges
哪個(但他也可以不選擇任何extra_charges
),它們立即插入Tourist_Extra_charges
表中。
問題是,由於用戶選擇extra_charges,我應該更新列TotalAMount。
因此,在插入tourist_extra_charges
表後,我想創建一個觸發器,它將更新Reservation
表中的列TotalAmount
。這就是我想出的。 如果我可以優化它,並且整個過程良好,請指教我。
CREATE TRIGGER [dbo].[tralAmount] on [dbo].[TOURIST_EXTRA_CHARGES] After Insert
AS
BEGIN
Declare @Res_ID int
Declare @Sum_toAdd money
select @Res_ID = Reservation_ID from inserted
Inner join TOURIST_RESERVATION on inserted.Tourist_ID=TOURIST_RESERVATION.Tourist_ID
select @Sum_toAdd = Amout from inserted
Inner Join EXTRA_CHARGES on inserted.Extra_Charge_ID= EXTRA_CHARGES.Extra_Charge_ID
Update RESERVATIONS
Set Reservation_TotalAmount = (Reservation_TotalAmount + @Sum_toAdd)
where [email protected]_ID
END