mysql 光标的作用_Mysql那些事儿之(十四)光标的使用_MySQL
bitsCN.com
Mysql那些事兒之(十四)光標(biāo)的使用
相關(guān)鏈接:
Mysql那些事兒之(一)mysql的安裝
http:///database/201210/162314.html;
Mysql那些事兒之(二)有關(guān)數(shù)據(jù)庫(kù)的操作
http:///database/201210/162315.html;
Mysql那些事兒之(三)有關(guān)數(shù)據(jù)表的操作
http:///database/201210/162316.html;
Mysql那些事兒之(四)數(shù)據(jù)表數(shù)據(jù)查詢操作
http:///database/201210/162317.html;
Mysql那些事兒之(五)操作時(shí)間
http:///database/201210/162318.html;
Mysql那些事兒之(六)字符串模式匹配
http:///database/201210/163969.html;
Mysql那些事兒之(七)深入select查詢
http:///database/201210/163970.html;
Mysql那些事兒之(八)索引
http:///database/201210/163971.html;
Mysql那些事兒之(九)常用的函數(shù)
http:///database/201210/164229.html;
Mysql那些事兒之(十)觸發(fā)器一
http:///database/201210/164516.html;
Mysql那些事兒之(十一)觸發(fā)器二
http:///database/201210/164766.html;
Mysql那些事兒之(十二)存儲(chǔ)過程
http:///database/201210/164795.html;
Mysql那些事兒之(十三)變量、條件的使用
http:///database/201211/165662.html
在存儲(chǔ)過程中可以使用光標(biāo)對(duì)結(jié)果集進(jìn)行循環(huán)處理,光標(biāo)的使用包括光標(biāo)的聲明、open、fetch、close。
語(yǔ)法如下:
Sql代碼
--聲明光標(biāo)
DECLARE cur_name CURSOR FOR select_statement
--open光標(biāo)
OPEN cursor_name
--FETCH 光標(biāo)
FETCH cursor_name INTO var_name [,var_name....]
--close光標(biāo)
CLOSE cursor_name
舉例說(shuō)明:
Sql代碼
delimiter $$ --將;結(jié)束符改變?yōu)?$
--創(chuàng)建存儲(chǔ)過程
CREATE PROCEDURE payment_amount()
BEGIN
---聲明變量
DECLARE i_staff_id int;
DECLARE d_amount decimal(5,2);
---聲明一個(gè)光標(biāo),獲取表payment里的staff_id,amount列的值。
DECLARE cur_payment cursor for select staff_id,amount from payment;
---條件處理,判斷循環(huán)結(jié)束的條件是 捕獲NOT FOUND條件。
---當(dāng)fecth 找不到下一條記錄時(shí),就會(huì)關(guān)閉光標(biāo),退出過程。
DECLARE EXIT HANDLER FOR NOT FOUND CLOSE cur_payment;
set @x1 = 0;
set @x2 = 0;
----打開光標(biāo)
OPEN cur_payment;
REPEAT
FETCH cur_payment INTO i_staff_id,d_amount;
if i_staff_id = 2 then
set @x1 = @x1 + d_amount;
else
set @x2 = @x2 + d_amount;
end if;
UNTIL 0 END REPEAT;
CLOSE cur_payment;
END;
$$
delimiter ;
DECLARE定義是有順序的:變量和條件必須放在前面、然后是光標(biāo)的聲明、最后才可以是 處理程序的聲明。
bitsCN.com
本條技術(shù)文章來(lái)源于互聯(lián)網(wǎng),如果無(wú)意侵犯您的權(quán)益請(qǐng)點(diǎn)擊此處反饋版權(quán)投訴
本文系統(tǒng)來(lái)源:php中文網(wǎng)
總結(jié)
以上是生活随笔為你收集整理的mysql 光标的作用_Mysql那些事儿之(十四)光标的使用_MySQL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 5.7.22mysql charset_
- 下一篇: mysql1577_使用Navicat