SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 01.05.2017 01:28:38

Tokio
Участник
Зарегистрирован: 01.05.2017
Сообщений: 4

Помощь с триггером

Есть три таблицы: Продукты(id_продукт, название, общийвес) и Состав(id, id_матер, id_прод, весматериала), Материал(id_материал, название).По условиям задания нужно создать триггер, который после добавления значения 'весматериала' в таблицу Состав, рассчитывал поле 'Общийвес' в таблице Продукт как сумму всех значений 'весматериала'для каждого продукта. ( один продукт состоит из нескольких материалов, так что в таблице Продукт нужно посчитать для каждого продукта общий вес материалов) субд-mysql

Отредактированно Tokio (01.05.2017 01:34:58)

Неактивен

 

#2 01.05.2017 21:44:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помощь с триггером

create trigger test after insert on `Состав`
for each row
begin
update `Продукты` set `общийвес` = (select sum(`весматериала`) from `Состав` where `id_прод` = new.`id_прод`) where `id_продукт` = new.`id_прод`;
end;

Неактивен

 

#3 01.05.2017 22:30:59

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5827

Re: Помощь с триггером

create trigger test after insert on `Состав`
for each row
update `Продукты` set `общийвес` = (select sum(`весматериала`) from `Состав` where `id_прод` = new.`id_прод`) where `id_продукт` = new.`id_прод`;

Неактивен

 

#4 01.05.2017 23:35:30

Tokio
Участник
Зарегистрирован: 01.05.2017
Сообщений: 4

Re: Помощь с триггером

Спасибо большое, все работает)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson