MySQL儲存過程-->長字串扯分
DELIMITER $$ -- 分隔符
USE`test`$$ --
DROPPROCEDURE IF EXISTS `pro_split`$$ -- 如果已經存在則刪除proc
CREATE PROCEDURE `test`.`pro_split` (varchar rids)
BEGIN
DECLAREpo INT DEFAULT 0; -- 定義一個位置點
DECLARErid VARCHAR(20) DEFAULT ""; -- 定義一個rid變數
DECLARErid_tmp VARCHAR(20) DEFAULT "";
SET po= LOCATE(",",rids); -- 找到第一個,的位置點
SET rid=LEFT(po-1,rids); -- 擷取出第一個rid
SETrid_tmp=SUBSTR(rids,po+1); -- 設定剩下還沒有處理的rids長字串
WHILEpo >0 DO -- 開始迴圈處理rids長字串
INSERTINTO b_tmp SELECT pid,rid; --把擷取出來的rid放入臨時表中
SET po =LOCATE(",",rid_tmp); -- 獲取未處理中的長字串的,的第一個位置點
SET rid=LEFT(po-1,rid_tmp); --取出每一個迴圈中擷取出來的rid
SETrid_tmp=SUBSTR(rid_tmp,po+1); -- 重新設定未處理的長字串。
ENDWHILE ;
END$$
DELIMITER;
PS:這個是預設的字串扯分規則是“,”,如果想變成靈活一些的,可以設定一個in 引數,在呼叫proc的時候代入即可。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- mysql 儲存過程MySql儲存過程
- 儲存過程中拼接字串儲存過程字串
- 分頁儲存過程儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- mysql儲存過程整理MySql儲存過程
- MySQL之儲存過程MySql儲存過程
- [MYSQL -23儲存過程]MySql儲存過程
- MYSQL儲存過程管理MySql儲存過程
- mysql儲存過程例子MySql儲存過程
- mysql的儲存過程MySql儲存過程
- MySQL---------儲存過程MySql儲存過程
- SQL 分頁儲存過程SQL儲存過程
- 通用分頁儲存過程儲存過程
- sql儲存過程分頁SQL儲存過程
- 【Mysql】Mysql儲存過程學習MySql儲存過程
- mysql如何呼叫儲存過程MySql儲存過程
- Mysql 儲存過程的使用MySql儲存過程
- mysql儲存過程案例解析MySql儲存過程
- mysql儲存過程詳解MySql儲存過程
- mysql儲存過程的修改MySql儲存過程
- MySQL儲存過程SAVEPOINT ROLLBACK toMySql儲存過程
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- SQL分隔字串的儲存過程 (轉)SQL字串儲存過程
- mysql 儲存過程和事件排程MySql儲存過程事件
- 兩種SQL分頁方法儲存過程和遊標儲存過程SQL儲存過程
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- SqlServer-儲存過程分頁SQLServer儲存過程
- Laravel 中使用 MySQL 儲存過程LaravelMySql儲存過程
- MySQL 儲存過程和函式MySql儲存過程函式
- mysql儲存過程的引數MySql儲存過程
- MySql資料庫——儲存過程MySql資料庫儲存過程
- MySQL儲存過程 (即函式)MySql儲存過程函式
- MySQL儲存過程和函式MySql儲存過程函式
- mysql 遊標的使用(儲存過程)MySql儲存過程
- MySQL 建立儲存過程報錯MySql儲存過程
- mysql儲存過程小試牛刀MySql儲存過程