在mysql中创建存储过程从产品表中计算利润

时间:2015-06-23 04:59:52

标签: mysql sql database stored-procedures

我的以下代码显示了一些错误:

  

1064 - 您的SQL语法出错;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近' BEGIN SET @ v1:=(从中选择总和(cost_price * current_stock)   产品)'在第2行

CREATE PROCEDURE sp_profit
BEGIN
SET @v1:= (select sum( cost_price * current_stock) from product);
SET @v2:= (select sum( selling_price * current_stock) from product);
SELECT (@v2 - @v1);
END

2 个答案:

答案 0 :(得分:2)

您忘记了程序名称后面的()。此外,您应该设置分隔符:

DELIMITER //
CREATE PROCEDURE sp_profit()
BEGIN
SET @v1:= (select sum( cost_price * current_stock) from product);
SET @v2:= (select sum( selling_price * current_stock) from product);
SELECT (@v2 - @v1);
END;
//

答案 1 :(得分:0)

试一试 -

DELIMITER $$
CREATE PROCEDURE sp_profit()
BEGIN
SET @v1= (select sum( cost_price * current_stock) from product);
SET @v2= (select sum( selling_price * current_stock) from product);
SELECT (@v2 - @v1);
END
DELIMITER ;