国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

mysql存儲過程游標之loop循環(huán)解讀

瀏覽:3日期:2023-07-05 19:48:16
目錄mysql存儲過程游標loop循環(huán)loopmysql存儲過程游標遍歷使用簡述總結mysql存儲過程游標loop循環(huán)

mysql存儲過程游標 一共有3中循環(huán)方式 while, repeat, loop,

loopDELIMITER $CREATE PROCEDURE DAY081002()BEGIN#定義參數(shù) 后面使用DECLARE a INT;DECLARE b INT DEFAULT 0;# 定義游標DECLARE c_cursor CURSOR FOR SELECT shopstoreid FROM shopstore;OPEN c_cursor; #開啟游標#定義loop循環(huán) 循環(huán)名字為 loop_labelloop_label: loop#將游標中的shopstoreid 這個值給到aFETCH c_cursor INTO a;# update執(zhí)行的條件IF b <4 THENUPDATE shopstore SET storefansnum=74784 WHERE shopstoreid=b;SET b=b+1;END IF;IF b>=7 THENLEAVE loop_label;END IF;#停止LOOP 循環(huán)END LOOP loop_label;END $CALL DAY081002()

mysql存儲過程游標遍歷使用簡述--游標樣例:把users中的id為偶數(shù)的記錄逐一更新用戶名create procedure test11begin declare stopflag int default 0 ;declare username varchar(32) ;--創(chuàng)建一個游標變量,declare變量名cursor...declare username_cur cursor for select name from users where id%2=0;--游標是保存查詢結果的臨時區(qū)域--游標變量username_cur保存了查詢的臨時結果,實際上就是結果集--當變量中保存的結果都查詢一遍(遍歷),到達結尾,將變量stopflag設置為1,用于循環(huán)中判斷是否結束declare continue handler for not found set stopflag = 1;open username_cur ;--打開游標fatch username_cur into username ;--游標向前走一步,取出一條記錄放在變量 username 中while (stopflag = 0) do --如果游標還沒有結尾就繼續(xù)begin --在用戶名前拼接'_cur'字段update users set name = concat(username,'_cur') where name = username ;fetch username_cur into username;end;end while;--結束循環(huán)close username_cur ;--關閉游標end--游標根據(jù)日期區(qū)間循環(huán)寫入數(shù)據(jù)create procedure f_rpt_g06(in i_begin_date int ,in i_end_date int )begin declare v_oc_date,v_m_begin_date int;declare done int default 0;-- 游標循環(huán)處理輸出入?yún)?shù)日期區(qū)間的數(shù)據(jù)declare cur cursor for select oc_date from dim_datewhere oc_date between i_begin_date and i_end_dateorder by oc_date asc;--將變量done設置為1,用于循環(huán)中判斷是否交結束declare continue hadnler for not found set done = 1;--打開游標open cur;dateloop:loop--游標向前走一步,取出一條記錄放在變量v_oc_date中fetch cur into v_oc_date;if done=1 thenleave dateloop;end if;--刪除表數(shù)據(jù)delete from f_rpt_g06where data_dt = v_oc_date--插入表數(shù)據(jù)insert into f_rpt_g06(字段1,字段2,字段3,字段4)select 字段1,字段2,字段3,字段4 from f_rpt_g06_123end loop dateloopclose loopend 總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

相關文章:
主站蜘蛛池模板: 澎湖县| 临西县| 宿迁市| 封丘县| 华池县| 车致| 泽普县| 都兰县| 甘孜| 清徐县| 乌拉特后旗| 睢宁县| 保定市| 柳河县| 锡林郭勒盟| 皮山县| 扶沟县| 清涧县| 当涂县| 抚顺县| 来宾市| 襄垣县| 义马市| 柳江县| 黎平县| 瑞安市| 叶城县| 故城县| 南皮县| 合肥市| 广水市| 通辽市| 汉沽区| 阳朔县| 南昌市| 岑溪市| 红原县| 临海市| 京山县| 哈尔滨市| 仁布县|