我刚刚开始使用 SQL 并一直在使用 MySQL。我正在尝试编写一个存储过程,该存储过程将从产品表中的 buyPrice 列中获取每个值,并将每个值存储到一个变量中。然后我希望它将这个变量乘以销售税,然后将每个结果放入我的空 sales_tax 列中。我想用每个项目的销售税填充整个列。当我执行此方法时,出现一些错误,指出 ProductCode 没有默认值。 正确的写法是什么?我知道这不是完成这项任务的最有效方法,只是尝试练习。
DELIMITER //
CREATE PROCEDURE nFirstProcedure()
BEGIN
DECLARE IdValue, counter, holdValue, result INT DEFAULT 0;
DECLARE holdName VARCHAR(30);
SET counter = 1;
WHILE counter < ( SELECT COUNT(*) FROM products)
DO
SET holdValue = (SELECT buyPrice FROM products WHERE sales_tax = null);
SET result = (holdValue * 0.08);
INSERT INTO products (sales_tax) VALUES (result);
END WHILE;
END//
DELIMITER ;
最佳答案
您不应该使用循环来执行此操作。只需使用更新
:
update products
set sales_tax = buyPrice * 0.08
where sales_tax is null;
关于mysql - 在循环中使用 MySQL 查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38943255/