Пожалуйста, помогите мне с триггерами на языке SQL.SQL Server: Trigger after insert, delete
У меня есть 2 стола product_subcategories
и Products
.
product_subcategories
:id, name, count_products
Products
:id, name, price, id_product_subcategories
Необходимо при добавлении или удалении строк в таблице продукта, чтобы обновить количество товаров в категориях
Например, у нас есть два подкатегории «name = first, count_products = 0», «name = second, count_products = 0». При добавлении в таблицу продуктов 3 строки: «name = pr1, price = 1, id_product_subcategories = 1», «name = np2, price = 2, id_product_subcategories = 1», «name = PR3, price = 5, id_product_subcategories = 2»
Таблица подкатегорий должны выглядеть
"название = первый, count_products = 2", "имя = второй, count_products = 1"
Вот что я писал, но по какой-то причине он не работает для одного и я не понимаю, как это сделать, когда вы добавляете несколько строк в качестве прохода по каждой строке во вставленной таблице?
CREATE TRIGGER
countproductscategories
ON
dbo.products
AFTER
INSERT
AS
IF @@ROWCOUNT = 1
BEGIN
UPDATE dbo.product_subcategories
SET count_products = count_products + 1
WHERE dbo.product_subcategories.id = (SELECT id FROM inserted)
END;
спасибо, это работа –