#mysql
Вопрос:
У меня есть 3 таблицы со следующими названиями:
product
order_line
invoice
Я хочу создать триггер, который при вставке новой order_line
строки будет отражать заказанные номера (указанные в order_line
) в моей таблице продуктов.
Ниже приведен триггер, который я написал:
DELIMITER // CREATE TRIGGER update_on_the_way_stockcount AFTER INSERT ON order_line FOR EACH ROW BEGIN IF invoice.product_status='Pending' THEN UPDATE PRODUCT SET on_the_way_stockcount = (SELECT order_qty FROM order_line WHERE product.product_number = order_line.product_number); END IF; END //
Однако теперь я не могу вставить новые строки в order_line
таблицу, как я могу это решить?
Комментарии:
1.
IF invoice.product_status='Pending' THEN
На какую строкуinvoice
таблицы вы хотите сослаться?2. Я хочу сослаться на product_status
3. Я не спрашиваю о колонке. Я спрашиваю, из какой строки вы хотите использовать значение этого столбца?
4. извините, я не понимаю, что вы имеете в виду. Я хочу проверить все строки, которые находятся в «ожидании», и обновить количество заказанных товаров до количества товара в пути
5. Я имею в виду, что когда вы вводите
invoice.product_status
, вы хотите ссылаться на одно значение из какой-то строки (одно!! строка) этой таблицы. И я спрашиваю — КАКАЯ строка из всех строк, хранящихся в этой таблице?