国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

基于MySQL游標的具體使用詳解

2024-07-24 12:48:26
字體:
來源:轉載
供稿:網友

測試表 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 游標 異常后 捕捉

并設置 循環使用 變量 tmpname 為 null 跳出循環。

復制代碼 代碼如下:

declare CONTINUE HANDLER FOR SQLSTATE '02000' SET tmpname = null;

開游標
復制代碼 代碼如下:

OPEN cur1;

游標向下走一步
復制代碼 代碼如下:

FETCH cur1 INTO tmpName;

循環體 這很明顯 把MySQL 游標查詢出的 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)


loop循環游標:
復制代碼 代碼如下:

DELIMITER $$ 

DROP PROCEDURE IF EXITS cursor_example$$ 
CREATE PROCEDURE cursor_example() 
     READS SQL DATA 
BEGIN 
     DECLARE l_employee_id INT; 
     DECLARE l_salary NUMERIC(8,2); 
     DECLARE l_department_id INT; 
     DECLARE done INT DEFAULT 0; 
     DECLARE cur1 CURSOR FOR SELECT employee_id, salary, department_id FROM employees; 
     DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1; 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 津市市| 扶沟县| 明溪县| 金堂县| 张家港市| 都兰县| 五指山市| 沙雅县| 大冶市| 南川市| 宿迁市| 绿春县| 吉木萨尔县| 元谋县| 宜川县| 黔江区| 武清区| 饶平县| 田林县| 县级市| 开江县| 阳新县| 怀安县| 甘孜县| 康马县| 永嘉县| 江津市| 河曲县| 湘西| 栖霞市| 双桥区| 满城县| 阿鲁科尔沁旗| 太康县| 武鸣县| 广元市| 成都市| 华安县| 滦平县| 大姚县| 贵州省|