我正在尝试创建一个触发器。
基本上我有一个表Reserves
,作为保留状态。每个储备的x值为Reserveitems
。
ReserveItems
有OfferID
作为fk将该表格连接到OfferItems
表格,作为每个可能要约的价格。
表 Item_RESERVE
[ID_RESERVE]
[ID_ITEMRESERVE]
[ID_OFFER]
[ID_ITEMOFFER]
表预留
[ID_RESERVE]
[STATE_RESERVE]
[TOTAL]
表 Item_OFFERS
[ID_OFFER]
[ID_ITEMOFFER]
[PRICE]
基本上,我必须确保每次Item_OFFER
中的价格等于0时,State_Reserve
都会更改为“付费”。
所以我写了这个触发器(在下面发布),我试图确保当ReserveItems
具有相同的ID_RESERVE
和ID_ITEMSOFFER
且价格= 0时,触发器触发。但是我没有确保在保留有超过2个ReservedItems链接的所有ID_RESERVE
都是相同的。
ALTER TRIGGER tr_8
ON Items_reserva
AFTER INSERT, UPDATE
AS
UPDATE RESERVAS
SET ESTADO_DA_RESERVA = 'Paga', total = 0.00
WHERE reservas.id_reserva IN (SELECT r.ID_RESERVA
FROM RESERVAS r, ITEMS_RESERVA ir, ITEMS_RESERVA ir1, ITEMS_OFERTA io
WHERE r.ID_RESERVA = ir.ID_RESERVA
AND ir.Id_Reserva = ir1.ID_RESERVA
AND io.ID_ITEMOFERTA = ir.ID_ITEMOFERTA
AND io.PRECO = 0)