欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql存儲(chǔ)過(guò)程游標(biāo)之loop循環(huán)解讀

 更新時(shí)間:2023年07月06日 10:25:12   作者:不錯(cuò)@  
這篇文章主要介紹了mysql存儲(chǔ)過(guò)程游標(biāo)之loop循環(huán)解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql存儲(chǔ)過(guò)程游標(biāo)loop循環(huán)

mysql存儲(chǔ)過(guò)程游標(biāo) 一共有3中循環(huán)方式 while, repeat, loop,

loop

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

在這里插入圖片描述

在這里插入圖片描述

mysql存儲(chǔ)過(guò)程游標(biāo)遍歷使用簡(jiǎn)述

--游標(biāo)樣例:把users中的id為偶數(shù)的記錄逐一更新用戶(hù)名
create procedure test11
	begin 
		declare stopflag int default 0 ;
		declare username varchar(32) ;
		--創(chuàng)建一個(gè)游標(biāo)變量,declare變量名cursor...
		declare username_cur cursor for select name from users where id%2=0;
		--游標(biāo)是保存查詢(xún)結(jié)果的臨時(shí)區(qū)域
		--游標(biāo)變量username_cur保存了查詢(xún)的臨時(shí)結(jié)果,實(shí)際上就是結(jié)果集
		--當(dāng)變量中保存的結(jié)果都查詢(xún)一遍(遍歷),到達(dá)結(jié)尾,將變量stopflag設(shè)置為1,用于循環(huán)中判斷是否結(jié)束
		declare continue handler for not found set stopflag = 1;
		open username_cur ;--打開(kāi)游標(biāo)
		fatch username_cur into username ;--游標(biāo)向前走一步,取出一條記錄放在變量 username 中
		while (stopflag = 0) do   --如果游標(biāo)還沒(méi)有結(jié)尾就繼續(xù)
			begin 
				--在用戶(hù)名前拼接'_cur'字段
				update users set name = concat(username,'_cur') where name = username ;
				fetch username_cur into username;
			end;
		end while;		--結(jié)束循環(huán)
		close username_cur ;		--關(guān)閉游標(biāo)
	end
--游標(biāo)根據(jù)日期區(qū)間循環(huán)寫(xiě)入數(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;
	-- 游標(biāo)循環(huán)處理輸出入?yún)?shù)日期區(qū)間的數(shù)據(jù)
	declare cur cursor for 
		select oc_date from dim_date
			where oc_date between i_begin_date and i_end_date
			order by oc_date asc;
	--將變量done設(shè)置為1,用于循環(huán)中判斷是否交結(jié)束
	declare continue hadnler for not found set done = 1;
	--打開(kāi)游標(biāo)
	open cur;
	dateloop:loop
	--游標(biāo)向前走一步,取出一條記錄放在變量v_oc_date中
		fetch cur into v_oc_date;
		if done=1 then
			leave dateloop;
		end if;
	--刪除表數(shù)據(jù)
	delete from f_rpt_g06
		where 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_123
	end loop dateloop
	close loop
end 

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL?Buffer?Pool如何提高頁(yè)的訪問(wèn)速度

    MySQL?Buffer?Pool如何提高頁(yè)的訪問(wèn)速度

    本文主要介紹了MySQL?Buffer?Pool如何提高頁(yè)的訪問(wèn)速度,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • HeidiSQL工具導(dǎo)出導(dǎo)入MySQL數(shù)據(jù)

    HeidiSQL工具導(dǎo)出導(dǎo)入MySQL數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了HeidiSQL工具導(dǎo)出導(dǎo)入MySQL數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • mysql?中的備份恢復(fù),分區(qū)分表,主從復(fù)制,讀寫(xiě)分離

    mysql?中的備份恢復(fù),分區(qū)分表,主從復(fù)制,讀寫(xiě)分離

    這篇文章主要介紹了mysql?中的備份恢復(fù),分區(qū)分表,主從復(fù)制,讀寫(xiě)分離,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容戒殺,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • mysql密碼正確無(wú)法登陸(host的問(wèn)題)

    mysql密碼正確無(wú)法登陸(host的問(wèn)題)

    本文主要介紹了mysql密碼正確無(wú)法登陸(host的問(wèn)題),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • win10下mysql 8.0.11 壓縮版安裝教程

    win10下mysql 8.0.11 壓縮版安裝教程

    這篇文章主要為大家詳細(xì)介紹了win10下mysql 8.0.11 壓縮版安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • mysql 判斷是否為子集的方法步驟

    mysql 判斷是否為子集的方法步驟

    這篇文章主要介紹了mysql 判斷是否為子集的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • mysql插入重復(fù)數(shù)據(jù)的處理(DUPLICATE、IGNORE、REPLACE)

    mysql插入重復(fù)數(shù)據(jù)的處理(DUPLICATE、IGNORE、REPLACE)

    這篇文章主要介紹了mysql插入重復(fù)數(shù)據(jù)的處理方式(DUPLICATE、IGNORE、REPLACE),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Mysql表的約束超詳細(xì)講解

    Mysql表的約束超詳細(xì)講解

    MySQL唯一約束(Unique Key)是指所有記錄中字段的值不能重復(fù)出現(xiàn)。例如,為 id 字段加上唯一性約束后,每條記錄的 id 值都是唯一的,不能出現(xiàn)重復(fù)的情況
    2022-09-09
  • MYSQL存儲(chǔ)過(guò)程即常用邏輯知識(shí)點(diǎn)總結(jié)

    MYSQL存儲(chǔ)過(guò)程即常用邏輯知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家整理的是關(guān)于MYSQL存儲(chǔ)過(guò)程即常用邏輯知識(shí)點(diǎn),有需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • MySQL分組查詢(xún)、排序查詢(xún)、分頁(yè)查詢(xún)以及執(zhí)行順序

    MySQL分組查詢(xún)、排序查詢(xún)、分頁(yè)查詢(xún)以及執(zhí)行順序

    MySQL數(shù)據(jù)查詢(xún)是數(shù)據(jù)庫(kù)操作中最常見(jiàn)的操作之一,它可以幫助我們從數(shù)據(jù)庫(kù)中獲取所需的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL分組查詢(xún)、排序查詢(xún)、分頁(yè)查詢(xún)以及執(zhí)行順序的相關(guān)資料,需要的朋友可以參考下
    2024-02-02

最新評(píng)論