Я должен написать триггер на моей таблице, который будет выполнять следующие функции.
- Перед обновлением в строке проверьте цену товара
- Если цена изменилась по сравнению с последней ценой, выберите имя таблицы, в которую следует вставить имя элемента, из другой таблицы, имеющей тип элемента и соответствующее имя таблицы.
- Вставка элементаимя в выбранной таблице.
Проще говоря, у меня есть таблица ( TypeNameTable ), имеющая категории элементов и соответствующие имена таблиц, если цена элемента изменилась, то я 'Для получения имени таблицы из TypeNameTable и вставки имени элемента в таблицу, полученную из TypeNameTable .Я не могу вставить в таблицу, когда получаю имена таблиц динамически.Подскажите пожалуйста как это сделать.Вот что я делаю:
BEGIN
#declare countryTableName varchar(50);
declare itemPrice int;
declare itemTableName text;
IF (New.Price != Old.Price) THEN
SET countryTableName = (select `ItemManager`.`TypeNames`.`TypeTableName`
from `ItemManager`.`TypeNames`
where `ItemManager`.`TypeNames`.`ItemType` = NEW.ItemType);
INSERT INTO `ItemManager`.itemTableName
( `ItemName`, `ItemPrice`,
VALUES
( NEW.Name, New.Price );
END IF;
END$$
Я получаю ошибку
ItemManager
.itemTableName не существует.