Мне нужно связать данные двух таблиц с помощью триггера

Я новичок в sql и не могу понять этот триггер.

Первая таблица: Информация для заказа который имеет три ряда,

O_Id
F_Id
Price(Int)

Вторая таблица Детали оплаты который имеет две строки,

O_Id
Total_Price(Int)

При размещении заказа Order_Details создает несколько строк с разными продуктами (F_Id) с разной ценой (Price), но одним и тем же номером заказа (O_Id). Поскольку в одном заказе может быть несколько продуктов питания

Поэтому мне нужен триггер для расчета суммы всех цен на продукты (Total_Price) в одном заказе.

Есть ли какой-либо возможный триггер для этого?

Я полагаю, вы имеете в виду First Table is Order_Details which has Three **COLUMNS**,

RiggsFolly 21.03.2022 18:11

Конечно, вы можете выполнить сложение как часть вставки нескольких строк. Кроме того, часто лучше НЕ носить с собой итоговые значения, если вы можете рассчитать их на лету, поскольку сохраненные итоговые значения могут быть очень легко ошибочными при изменении вручную.

RiggsFolly 21.03.2022 18:13
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
1
2
14
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если это действительно единственные столбцы, вам лучше создать их как представление.

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

дб <> рабочий пример здесь

Другие вопросы по теме