Я пытаюсь сделать триггер SQL, который обновляет итог в одной таблице, используя значения из двух разных таблиц - PullRequest
0 голосов
/ 02 июня 2019

Я создаю систему бронирования отелей и хочу создать триггер, который обновляет общую сумму счета при добавлении нового бронирования в таблицу бронирования.

Основная структура моих таблиц:

  • бронирование: id, номер_типа_fk имя, number_of_nights, number_of_ghest room_types: id

  • тип_команды: room_type, описание, тариф

  • счета: id, booking_fk, всего, payment_status

Я пробовал это, но что-то не так.Возможно с объединениями?

CREATE TRIGGER calculate_bill
ON bills
after INSERT, UPDATE
AS
  BEGIN
      UPDATE bills.total
      SET  bills.total = reservations.number_of_nights * room_types.rate
      FROM   bills.total
             JOIN reservations
               ON bills.reservation_fk = reservations.reservations_id
             JOIN room_types
               ON reservations.room_type_fk = room_types.room_type_id
  END 

Я хочу, чтобы триггер сделал bills.total = room_types.rate * reservations.number_of_nights

...