我如何编写一个动态脚本,以使列名;
GST是一个变量,我希望每当Gross_sales列中有数据插入时,它就会根据公式动态计算
SET @GST = gross_sales * 0.07, @gross_sales = 'gross_sales';
INSERT INTO sales(invoice_no, GST, gross_sales)
VALUES ('INV-1', @GST, 11.00),
('INV-2', @GST, 1.20),
('INV-3', @GST, 1.20);
我希望每当将数据输入到gross_sales列中时,GST列的值都将自动计算。我尝试声明变量,但是没有成功。
最佳答案
触发器是您想要的。
您需要创建一个before insert
触发器来计算gst的值。
delimiter $$
CREATE TRIGGER `calc_gst`
BEFORE INSERT
ON `sales`
FOR EACH ROW
BEGIN
set new.gst = new.gross_sales*0.07;
END
delimiter ;
您将插入如下所示的值:
insert into sales values('inv-1',0,100);
关于mysql - 编写动态代码脚本以将值插入变量,变量也是列名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58109080/