gpt4 book ai didi

MySQL 更新过程包含多个 CASE 和 WHERE

转载 作者:行者123 更新时间:2023-11-29 18:35:45 25 4
gpt4 key购买 nike

查询按预期工作和更新,但是当我尝试将其放入存储过程时,它失败并显示“错误靠近 WHERE”。谁能看看出了什么问题吗?

DELIMITER //
DROP procedure if exists update_trans_with_tags//

CREATE PROCEDURE update_trans_with_tags()
BEGIN
UPDATE transactions
SET trans_cat = CASE WHEN trans_desc LIKE '%abc%' THEN 1
WHEN trans_desc LIKE '%def%' THEN 2
WHEN trans_desc LIKE '%ghi%' THEN 4
ELSE trans_cat
END;
WHERE trans_cat IS NULL;
END//
DELIMITER ;

最佳答案

将第一个 END 中的 ; 去掉; ; 仍然终止存储过程中的语句。如果挂起的 WHERE 没有阻止您保存过程; “第一个”语句将更新所有交易。

关于MySQL 更新过程包含多个 CASE 和 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45314500/

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