gpt4 book ai didi

mysql - 使用 if 语句的存储过程

转载 作者:行者123 更新时间:2023-11-30 23:21:06 25 4
gpt4 key购买 nike

我这里有存储过程:

delimiter //
create procedure insert(p int, n varchar(10), d date, q int)
begin
select pname if(pname!=n)
then
insert into prod(p,n,d,q)values(p,n,d,q)
else quant=quant + q;
from prod;
end;
//

如果 pnamen 不相等,此存储过程将向表 prod 中添加记录 否则,如果它们相等,quant 将由 q 的值更新和添加。这个想法行不通你能帮我吗?如何实现这一目标?

最佳答案

....
BEGIN
DECLARE p CHAR DEFAULT NULL;
SELECT pname FROM prod WHERE pname = n LIMIT 1 INTO p FOR UPDATE;
IF(p) THEN
UPDATE prod SET quant = quant + q WHERE pname = n;
ELSE
INSERT INTO prod(p,n,d,q) values(p,n,d,q);
END IF;
END;

如果您在产品中的 pname 上有一个 UNIQUE 键,则有更简单的方法。

关于mysql - 使用 if 语句的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15418179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com