2010-04-16 117 views
1

我想在MySQL中創建一個存儲過程,其中一個輸入參數需要以逗號分隔的整數列表。如何遍歷每個整數並在其上運行更新語句?MySQL中的逗號分隔變量

我已經使用了它,但似乎無法找到任何可以用於MySQL的東西。

回答

0

嗯......好吧,在底部有一個討論here in the MySQL reference關於採取逗號分隔的整數字符串並做一個替換,以獲得它可以使用「IN」的東西。

我假設你的輸入參數是一個VARCHAR在這裏。

0

我知道了......

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; 
+0

這是假設你的輸入參數是一個單一的VARCHAR值,而不是逗號分隔整數值列表。 – Kainax 2016-11-26 19:03:47