1
我想在MySQL中创建一个存储过程,其中一个输入参数需要以逗号分隔的整数列表。如何遍历每个整数并在其上运行更新语句?MySQL中的逗号分隔变量
我已经使用了它,但似乎无法找到任何可以用于MySQL的东西。
我想在MySQL中创建一个存储过程,其中一个输入参数需要以逗号分隔的整数列表。如何遍历每个整数并在其上运行更新语句?MySQL中的逗号分隔变量
我已经使用了它,但似乎无法找到任何可以用于MySQL的东西。
嗯......好吧,在底部有一个讨论here in the MySQL reference关于采取逗号分隔的整数字符串并做一个替换,以获得它可以使用“IN”的东西。
我假设你的输入参数是一个VARCHAR在这里。
我知道了......
DECLARE i INT DEFAULT 0;
DECLARE curId VARCHAR(100);
WHILE SPLIT_STR(in_IdCommaDelimited, ',', i) != '' DO
SET curId = SPLIT_STR(in_IdCommaDelimited, ',', i);
UPDATE MyTable SET OrderNumber = i WHERE Id = curId;
SET i = i + 1;
END WHILE;
这是假设你的输入参数是一个单一的VARCHAR值,而不是逗号分隔整数值列表。 – Kainax 2016-11-26 19:03:47