Я новичок в sql и не могу понять этот триггер.
Первая таблица: Информация для заказа который имеет три ряда,
O_Id
F_Id
Price(Int)
Вторая таблица Детали оплаты который имеет две строки,
O_Id
Total_Price(Int)
При размещении заказа Order_Details создает несколько строк с разными продуктами (F_Id) с разной ценой (Price), но одним и тем же номером заказа (O_Id). Поскольку в одном заказе может быть несколько продуктов питания
Поэтому мне нужен триггер для расчета суммы всех цен на продукты (Total_Price) в одном заказе.
Есть ли какой-либо возможный триггер для этого?
Конечно, вы можете выполнить сложение как часть вставки нескольких строк. Кроме того, часто лучше НЕ носить с собой итоговые значения, если вы можете рассчитать их на лету, поскольку сохраненные итоговые значения могут быть очень легко ошибочными при изменении вручную.
Если это действительно единственные столбцы, вам лучше создать их как представление.
CREATE TABLE Order_Details( O_Id int, F_Id int, Price Int);
CREATE VIEW Payment_Details AS SELECT O_Id, SUM(Price) AS Total_Price FROM Order_Details GROUP BY O_Id;
insert into Order_Details values (1,1,20),(1,2,15);
select * from Payment_Details;
O_Id | Total_Price ---: | ----------: 1 | 35
дб <> рабочий пример здесь
Я полагаю, вы имеете в виду
First Table is Order_Details which has Three **COLUMNS**
,