我有一个触发器,在他内部我宣布了两个变量:数量和价格。数量是INT类型,价格是DECIMAL类型(10,2)。这些变量的值由SELECT查询设置。那很好。现在我想把这两个变量相乘,这样我就可以得到总金额。如何计算mysql触发器内的两个变量?
TOTAL_AMOUNT =数量*价格
简化代码(不工作就在这儿只是为了更好地描述我的问题):
DROP TRIGGER calculate;
DELIMITER $$
CREATE TRIGGER calculate
AFTER INSERT ON order_table
FOR EACH ROW
BEGIN
DECLARE quantity INT;
DECLARE price INT;
SELECT quantity, price INTO @quantity, @price FROM product;
INSERT INTO order_details SET total_amount = @quantity * @price;
END$$
DELIMITER ;
有了这个代码,我得到空的结果。 我正在使用MySQL/MariaDB。
我知道选择是不正确的,我把它放在这里只是为了我需要做的一个例子,它的无关,作为整个触发器,只是想知道如何计算变量时,他们是通过select ..但作为你提到你的答案,如果我只是使用本地变量,我得到了良好的resut – bobby
我们不是很高兴发布的代码有问题,你知道的问题,你没有在你的问题中提及这些问题! – Shadow