最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于MySQL游標(biāo)的具體使用詳解

 更新時間:2013年06月11日 16:27:12   作者:  
本篇文章是對MySQL游標(biāo)的具體使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下

測試表 level ;

復(fù)制代碼 代碼如下:

create table test.level (name varchar(20));

再 insert 些數(shù)據(jù) ;

代碼

初始化

復(fù)制代碼 代碼如下:

drop procedure if exists useCursor //

建立 存儲過程 create
復(fù)制代碼 代碼如下:

CREATE PROCEDURE useCursor()

BEGIN


局部變量的定義 declare
復(fù)制代碼 代碼如下:

declare tmpName varchar(20) default '' ; 
declare allName varchar(255) default '' ; 
declare cur1 CURSOR FOR SELECT name FROM test.level ; 

MySQL 游標(biāo) 異常后 捕捉

并設(shè)置 循環(huán)使用 變量 tmpname 為 null 跳出循環(huán)。

復(fù)制代碼 代碼如下:

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

開游標(biāo)
復(fù)制代碼 代碼如下:

OPEN cur1;

游標(biāo)向下走一步
復(fù)制代碼 代碼如下:

FETCH cur1 INTO tmpName;

循環(huán)體 這很明顯 把MySQL 游標(biāo)查詢出的 name 都加起并用 ; 號隔開
復(fù)制代碼 代碼如下:

WHILE ( tmpname is not null) DO
set tmpName = CONCAT(tmpName ,";") ;
set allName = CONCAT(allName ,tmpName) ;

游標(biāo)向下走一步
復(fù)制代碼 代碼如下:

FETCH cur1 INTO tmpName;

結(jié)束循環(huán)體:
復(fù)制代碼 代碼如下:

END WHILE;

關(guān)閉游標(biāo)
復(fù)制代碼 代碼如下:

CLOSE cur1;

選擇數(shù)據(jù)
復(fù)制代碼 代碼如下:

select allName ;

結(jié)束存儲過程
復(fù)制代碼 代碼如下:

END;//

調(diào)用存儲過程:
復(fù)制代碼 代碼如下:

call useCursor()//

運行結(jié)果:
復(fù)制代碼 代碼如下:

mysql> call useCursor()//

+--------------------------------------+

| allName                              |

+--------------------------------------+

| f1;c3;c6;c5;c2;c4;c1;f1;f3;f4;f2;f5; |

+--------------------------------------+

1 row in set (0.00 sec)


loop循環(huán)游標(biāo):
復(fù)制代碼 代碼如下:

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; 

     OPEN cur1; 
     emp_loop: LOOP 
         FETCH cur1 INTO l_employee_id, l_salary, l_department_id; 
         IF done=1 THEN 
             LEAVE emp_loop; 
         END IF; 
     END LOOP emp_loop; 
     CLOSE cur1; 
END$$ 
DELIMITER ; 

repeat循環(huán)游標(biāo):
復(fù)制代碼 代碼如下:

/*創(chuàng)建過程*/
DELIMITER //
DROP PROCEDURE IF EXISTS test //
CREATE PROCEDURE test()
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE a VARCHAR(200) DEFAULT '';
    DECLARE c VARCHAR(200) DEFAULT '';

    DECLARE mycursor CURSOR FOR SELECT  fusername FROM uchome_friend;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

    OPEN mycursor;

    REPEAT
        FETCH mycursor INTO a;
        IF NOT done THEN
            SET c=CONCAT(c,a);/*字符串相加*/
        END IF;

    UNTIL done END REPEAT;

    CLOSE mycursor;

    SELECT c;
END //
DELIMITER ;

復(fù)制代碼 代碼如下:

/*創(chuàng)建過程*/
DELIMITER //
DROP PROCEDURE IF EXISTS test //
CREATE PROCEDURE test()
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE a VARCHAR(200) DEFAULT '';
    DECLARE c VARCHAR(200) DEFAULT '';

    DECLARE mycursor CURSOR FOR SELECT  fusername FROM uchome_friend;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done=1;

    OPEN mycursor;

    REPEAT
        FETCH mycursor INTO a;
        IF NOT done THEN
            SET c=CONCAT(c,a);/*字符串相加*/
        END IF;

    UNTIL done END REPEAT;

    CLOSE mycursor;

    SELECT c;
END //
DELIMITER ;

相關(guān)文章

  • MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離

    MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離

    大家好,本篇文章主要講的是MySQL數(shù)據(jù)庫主從復(fù)制與讀寫分離,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • mysql 5.7.18 winx64 免安裝 配置方法

    mysql 5.7.18 winx64 免安裝 配置方法

    這篇文章主要介紹了mysql 5.7.18 winx64 免安裝配置方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-04-04
  • MySQL服務(wù)無法啟動的解決辦法(親測有效)

    MySQL服務(wù)無法啟動的解決辦法(親測有效)

    用管理員身份打開cmd試圖啟動MySQL時出現(xiàn)服務(wù)無法啟動并提示服務(wù)沒有報錯任何錯誤,所以本文小編給大家介紹了一個親測有效的解決辦法,需要的朋友可以參考下
    2023-12-12
  • MySQL雙主(主主)架構(gòu)配置方案

    MySQL雙主(主主)架構(gòu)配置方案

    這篇文章主要介紹了MySQL雙主(主主)架構(gòu)配置方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • mysql下載與安裝過程詳解

    mysql下載與安裝過程詳解

    這篇文章主要介紹了mysql下載與安裝過程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 簡述Mysql Explain 命令

    簡述Mysql Explain 命令

    MySQL的EXPLAIN命令用于SQL語句的查詢執(zhí)行計劃(QEP)。如果你的頁面返回結(jié)果很慢,你就需要使用explain去分析你的sql是否需要優(yōu)化了.接下來通過本文給大家介紹Mysql Explain 命令,感興趣的朋友一起學(xué)習(xí)吧
    2016-10-10
  • MYSQL事務(wù)教程之Yii2.0商戶提現(xiàn)功能

    MYSQL事務(wù)教程之Yii2.0商戶提現(xiàn)功能

    這篇文章主要給大家介紹了關(guān)于MYSQL事務(wù)教程之Yii2.0商戶提現(xiàn)功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 提升MySQL查詢效率及查詢速度優(yōu)化的四個方法詳析

    提升MySQL查詢效率及查詢速度優(yōu)化的四個方法詳析

    查詢語句的優(yōu)化是提高M(jìn)ySQL查詢速度的重要方法,可以通過使用JOIN語句、子查詢、優(yōu)化where子句等方式來減少查詢的時間,下面這篇文章主要給大家介紹了關(guān)于提升MySQL查詢效率及查詢速度優(yōu)化的四個方法,需要的朋友可以參考下
    2023-04-04
  • Mysql ERROR 1067: Invalid default value for字段問題

    Mysql ERROR 1067: Invalid default v

    這篇文章主要介紹了Mysql ERROR 1067: Invalid default value for字段問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • mysql主從同步快速設(shè)置方法

    mysql主從同步快速設(shè)置方法

    記錄一個比較簡便的mysql的主從同步設(shè)置步驟,方便日后使用。
    2010-12-12

最新評論

汾阳市| 珠海市| 墨玉县| 河源市| 兴城市| 泾阳县| 泾阳县| 彭山县| 彭山县| 古蔺县| 若羌县| 泾源县| 托里县| 北川| 陵川县| 孙吴县| 江城| 永康市| 桃园县| 禹州市| 河津市| 玉门市| 眉山市| 钦州市| 婺源县| 城口县| 南通市| 新化县| 景宁| 花垣县| 雅安市| 淮阳县| 仁寿县| 甘洛县| 彰化市| 靖边县| 平罗县| 平谷区| 海宁市| 拉萨市| 沙湾县|