【发布时间】:2014-01-08 02:43:40
【问题描述】:
我正在尝试使用 case 语句根据另一列的值更新一列。我在 MySQL 中名为 'rma' 的表如下:
ID | rma_number | serial_number | ref_status_id
1 | 9898 | 123456 | 19
2 | 7869 | 098768 | 3
这是我的存储过程:
CREATE DEFINER=`admin`@`localhost` PROCEDURE `delete_update_rma`(in selectedID int, in selectedRMAID int)
begin
declare rmaStatus int(5);
select ref_status_id into rmaStatus
from rma
where id = selectedRMAID;
case rmaStatus
when 19 then
set ref_status_id = 0;
end case;
delete from dropbox where id = selectedID;
end
当我尝试保存以创建过程时,我收到错误 #1193 - Unknown system variable 'ref_status_id'。
谁能帮我确定我的存储过程可能有什么问题?
【问题讨论】:
-
你确定
ref_status_id是一个声明的变量吗?如果您想更新一行,您可能必须找到另一种方法来完成该部分...
标签: mysql sql stored-procedures sql-update case-expression