真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

mysql中光標(biāo)怎樣書(shū)寫(xiě)

這篇文章主要介紹MySQL中光標(biāo)怎樣書(shū)寫(xiě),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

成都創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的前鋒網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

mysql中光標(biāo)書(shū)寫(xiě)的方法:首先聲明光標(biāo);然后開(kāi)啟光標(biāo),代碼為【OPEN cursor_name】;接著捕獲光標(biāo);最后關(guān)閉光標(biāo),代碼為【CLOSE cursor_name】。

mysql中光標(biāo)書(shū)寫(xiě)的方法:

1,什么是光標(biāo)

在存儲(chǔ)過(guò)程或函數(shù)中,可以使用光標(biāo)對(duì)結(jié)果集進(jìn)行循環(huán)處理。以下是個(gè)人的見(jiàn)解,光標(biāo)就類似于java循環(huán)中的自增變量i。

2,光標(biāo)的使用

光標(biāo)的使用包括一下三個(gè)步驟:

1,聲明光標(biāo)

格式:DECLARE cursor_name CURSOR FOR select_statement;

cursor_name:光標(biāo)名,用戶自己設(shè)定,最好見(jiàn)名知意。

select_statement:完整的查詢語(yǔ)句,查詢表中的列名(后面案例詳解)。

2,開(kāi)啟光標(biāo)

cursor_name:聲明時(shí)的光標(biāo)名。

格式:OPEN cursor_name;

3,捕獲光標(biāo)

格式:FETCH cursor_name INTO var_name...;(...表示可以有多個(gè))

cursor_name:聲明時(shí)的光標(biāo)名。

var_name:自定義的變量名。(后面案例詳解)

4,關(guān)閉光標(biāo)

格式:CLOSE cursor_name;

cursor_name:聲明時(shí)的光標(biāo)名。

3,光標(biāo)使用的小案例

該案例并沒(méi)有實(shí)際的意義,只是單純的為了演示光標(biāo)使用

首先創(chuàng)建一個(gè)users表

CREATE TABLE `users` (
  `u_id` int(4) NOT NULL,
  `u_name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL,
  `u_age` int(4) DEFAULT NULL,
  PRIMARY KEY (`u_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

插入以下數(shù)據(jù)

創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,名為select_age

BEGIN
    #Routine body goes here...
    declare i_user_id int;
    declare i_user_age int;
    declare cur_age cursor for select u_id,u_age from users;
    declare exit handler for not FOUND close cur_age;
    set @age_ji = 0;
    set @age_ou = 0;
    
    open cur_age;
    REPEAT
        fetch cur_age into i_user_id,i_user_age;
        if i_user_id%2 = 1 THEN
            set @age_ji = @age_ji + i_user_age; 
        else
            set @age_ou = @age_ou + i_user_age;
        end if;
    until 0 end REPEAT;
    close cur_age;
END

調(diào)用該存儲(chǔ)過(guò)程

call select_age();
select @age_ji,@age_ou;

代碼的詳細(xì)解釋:

1,首先定義兩個(gè)局部變量 i_user_id,i_user_age;用來(lái)存放光標(biāo)遍歷的表的列。

2,聲明一個(gè)光標(biāo),遍歷users表中的u_id,u_age 兩列。

3,聲明一個(gè)異常,在發(fā)生異常時(shí)關(guān)閉光標(biāo)。

4,設(shè)置兩個(gè)用戶變量用來(lái)存儲(chǔ)最終結(jié)果。

5,開(kāi)啟光標(biāo)。

6,寫(xiě)一個(gè)循環(huán)體,終結(jié)條件是遍歷到表的最后一列。

7,捕獲光標(biāo),將遍歷到的內(nèi)容放到兩個(gè)局部變量里面。

8,通過(guò)對(duì) i_user_id 的奇偶的判斷,分別將i_user_age 加到兩個(gè)用戶變量中

9,關(guān)閉光標(biāo)。

4,注意事項(xiàng)

變量,自定義異常,異常處理,光標(biāo)都是通過(guò)declare關(guān)鍵字定義的,他們之間是有順序要求的。變量、自定義異常必須放在最前面,然后是光標(biāo)的聲明,最后是異常處理的聲明。

以上是mysql中光標(biāo)怎樣書(shū)寫(xiě)的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文名稱:mysql中光標(biāo)怎樣書(shū)寫(xiě)
本文網(wǎng)址:http://weahome.cn/article/peopjc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部