Ситуация. Допустим, у вас есть база данных организаций, студентов и покупок курсов, и администратор хочет получить возмещение за курс, который они назначили. Программное обеспечение не поддерживает возврат по умолчанию. У вас нет доступа к исходному коду, но вы можете настроить триггеры в базе данных.
Структура базы данных:
- организации
- organization_id
- account_balance
- студенты
- student_id
- organization_id
- покупки
- student_id
- time_of_purchase
- amount_to_refund
Общая идея заключается в том, что при удалении записи (или нескольких!) Из таблицы закупки запускается триггер для обновления баланса счета соответствующей организации. amount_to_refund может быть нулевым или нулевым, поэтому в этом случае возврат не производится. Возврат также не должен производиться, если time_of_purchase было более 30 дней назад.
Есть идеи, как это осуществить? Я моделировал его из другого триггера, но меня сбивает синтаксис UPDATE ... FROM ..., который я не могу сказать, что использовал раньше. Я посмотрел на MSDN, но я немного ошеломлен.
При желании я также хотел бы вставить строки в другую таблицу (здесь не описано), содержащую сумму возврата и идентификатор организации. Мне просто нужна общая идея, где это подходит и, вероятно, я могу справиться со всем остальным.