【发布时间】:2013-11-22 03:50:21
【问题描述】:
我不知道为什么:(
当我使用参数(reference_requested、quantity_requested)和“return”调用过程时,我必须更新表 products(我不知道如何做,我阅读了 return 和 params in、out 和 inout,但我不太了解)售出单位的价值
delimiter &&
create procedure compra (@reference_requested varchar, @quantity_requested int)
begin
if quantity >= quantity_requested then
update products
set quantity = quantity - quantity_requested
where reference_requested = reference;
return quantity_requested;
else
return quantity;
update products
set quantity = 0;
where reference_requested = reference;
end if;
end
&&
【问题讨论】:
-
quantity的初始值在哪里设置? -
错误说明了什么?
-
参数中的语法错误
-
数量是一个叫做 products 的表中的一个字段,我在里面插入了一些数据,应该将这些数据与参数进行比较
-
只有存储的函数才能返回值 - dev.mysql.com/doc/refman/5.7/en/create-procedure.html.
标签: mysql sql stored-procedures if-statement