日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 游标的使用

發布時間:2025/5/22 数据库 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 游标的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:http://www.blogjava.net/Good-Game/archive/2008/04/27/196486.html

請使用 mysql 1.5 或以上version;
測試表 level ;
create table test.level (name varchar(20));
再 insert 些數據 ;

?/*初始化*/?
?
drop?procedure?if?exists??useCursor?//????
?
?
/*建立?存儲過程?create?*/?
?
CREATE?PROCEDURE?useCursor()
????
BEGIN
????
/*局部變量的定義?declare*/?
?????????
declare?tmpName?varchar(20)?default?''?;
?????????
declare?allName?varchar(255)?default?''?;
?????????
?????????
declare?cur1?CURSOR?FOR?SELECT?name?FROM?test.level?;
?????????
?????????
/*????mysql?不知道為什么用異常加入判斷??
??????????*????此請參考官方文檔
20.2.11. 光標 光標?
??????????*????????這把?游標?異常后?捕捉?
??????????*????????并設置?循環使用?變量?tmpname?為?null?跳出循環。
??????????
*/
?????????
declare?CONTINUE?HANDLER?FOR?SQLSTATE?'02000'?SET?tmpname?=?null;
????
????
????
/*開游標*/?
?????
OPEN?cur1;
?????????
/*游標向下走一步*/?
?????????
FETCH?cur1?INTO?tmpName;
?????????
?????????
/*?循環體?這很明顯?把游標查詢出的?name?都加起并用?;?號隔開?*/
??????
WHILE?(?tmpname?is?not?null)?DO
??????????
set?tmpName?=?CONCAT(tmpName?,";")?;
??????? ?
set?allName?=?CONCAT(allName?,tmpName)?;
????????
/*游標向下走一步*/?
????????
FETCH?cur1?INTO?tmpName;
??????
END?WHILE;
??
????
CLOSE?cur1;
????
????
select?allName?;
END;//
call?useCursor()
//
?


運行結果:

mysql>?call?useCursor()//
+--------------------------------------+
|?allName??????????????????????????????|
+--------------------------------------+
|?f1;c3;c6;c5;c2;c4;c1;f1;f3;f4;f2;f5;?|
+--------------------------------------+
1?row?in?set?(0.00?sec)

總結

以上是生活随笔為你收集整理的mysql 游标的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。