Я хочу обновить свою таблицу продуктов с помощью триггера после вставки нового кортежа в таблицу detail_of_sale.
Я искал эту проблему и пробовал несколько способов решения, но не смог.
Вот мои таблицы.
detail_of_sale (detailID, saleID, productID, количество ...)
товар (productID, сток ...);
Create Trigger editQuantity AFTER INSERT ON detail_of_sale
BEGIN
Update product join detail_of_sale on
detail_of_sale.productID=product.productID set stock=stock-(Select quantity
from detail_of_sale where saleID=new.SaleID);
END


Вам не нужен join, просто ссылки на таблицу new:
Update product
set stock = stock - new.quantity
where productID = new.productID;
@EmreSERBEST. . . Такова логика написанного вами запроса. Судя по всему, на productID правильное состояние.
Спасибо за ваше решение, это такой ясный ответ, когда я вижу ваш ответ, я еще раз вспомнил, что не должен думать слишком сложно :)
Попробуйте с этим:
Update product
set stock = stock - i.quantity
from product INNER JOIN inserted i on i.productid = productid
но в моей таблице товаров нет атрибута saleID.