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