如何分割字串並迴圈遍歷 MySQL 儲存過程中的值?
要分割字串並在 MySQL 儲存過程中迴圈遍歷所有值,您不需要使用 REPLACE() 函式。要了解,首先建立一個儲存過程,然後建立一個表並使用一些值呼叫儲存過程。該值將被插入到表中。
建立儲存過程的查詢如下
mysql> DELIMITER // mysql> CREATE PROCEDURE SP_SplitString(Value longtext) -> BEGIN -> DECLARE front TEXT DEFAULT NULL; -> DECLARE frontlen INT DEFAULT NULL; -> DECLARE TempValue TEXT DEFAULT NULL; -> iterator: -> LOOP -> IF LENGTH(TRIM(Value)) = 0 OR Value IS NULL THEN -> LEAVE iterator; -> END IF; -> SET front = SUBSTRING_INDEX(Value,',',1); -> SET frontlen = LENGTH(front); -> SET TempValue = TRIM(front); -> INSERT INTO store (allValues) VALUES (TempValue); -> SET Value = INSERT(Value,1,frontlen + 1,''); -> END LOOP; -> END // Query OK, 0 rows affected (0.22 sec) mysql> DELIMITER ;
現在建立一個儲存儲存過程值的表。建立表的查詢。
mysql> CREATE TABLE store( -> Id int NOT NULL AUTO_INCREMENT, -> allValues varchar(30), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.63 sec)
顯示錶中的所有記錄。查詢如下
mysql> select *from store; Empty set (0.00 sec)
最初表中沒有記錄。讓我們使用 CALL 命令呼叫儲存過程。查詢如下
mysql> call SP_SplitString('Hi,Hello,Good Morning,Bye');
Query OK, 1 row affected (1.02 sec)在呼叫上述儲存過程之後,讓我們再次檢查表記錄。從表中顯示所有記錄的查詢如下
mysql> select *from store;
以下是輸出
+----+--------------+ | Id | allValues | +----+--------------+ | 1 | Hi | | 2 | Hello | | 3 | Good Morning | | 4 | Bye | +----+--------------+ 4 rows in set (0.00 sec)
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP