Я нуждаюсь в помощи в этом trigger

чтобы начинаться он покажет структуру моих 3 подмостков

este tabla seria los productos
Producto (
  CODIGO int(11),
  CANTIDAD int(11)
)

этот серьезный заголовок, требуемый

Pedido (
  codigo int(11),
  nombre varchar(50),
  unix varchar(100)
)

и это была бы таблица подробно опишите заказа

Detalle (
  codigo int(11),
  producto int(11),
  cantidad` int(11)
)

в конце концов зарегистрировав заказ, зарегистрируй заголовок и деталь это реализует хорошо

моя проблема состоит, в том, что удалив заказ, мне нужно, чтобы количество продуктов, зарегистрированных в попрошенной детали они были, они возвратили в таблицу Продукт, я сделал trigger, который теоретически реализовал бы это, но я предполагаю, что и побитый козырем в коде, потому что я удаляю одну Требуемый, и он не обновляет таблицу продукт

CREATE TRIGGER Devolver_Productos_Prueba AFTER DELETE ON Detalle FOR EACH ROW

Update Producto
set Producto.CANTIDAD = (Producto.CANTIDAD + old.cantidad)
where Producto.CODIGO = old.codigo;

я хотел бы, чтобы они помогли мне, спасибо заранее из-за Вашей помощи

5
задан 28.12.2019, 17:57
2 ответа

В таблице подробно опишите я вижу, что ты помещаешь поля код , продукт , и количество, что дает мне понимать, что поле код - первичный ключ таблицы, я подробно описал вероятно. Сейчас наблюдает trigger в этой части: where Продукт. КОД = old.codigo; не был бы должен быть old.producto? а именно ты был бы должен помещать это так: where Продукт. КОД = old.producto;

2
ответ дан 29.12.2019, 09:10

Ты должен помнить, что trigger работает из-за каждой линии таблицы Detalle, которая удаляется, следовательно OLD ссылается на реестр table Detalle, который удаляет

В update, который образцы есть один old.cant, который неправильный основано на таблице Detalle, правильным был бы OLD.cantidad

То же самое с old.cod, правильным был бы OLD.codigo

Update Producto
set Producto.CANTIDAD = (Producto.CANTIDAD + old.cantidad)
where Producto.CODIGO = old.codigo;

И это был бы конечный результат

3
ответ дан 29.12.2019, 09:10
  • 1
    Если спасибо за эту observació n, упорядочьте trigger, но останься, не обновляя таблицы продукта – Kevin 28.12.2019, 17:55