中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql基礎五 游標

發布時間:2020-08-10 09:57:11 來源:網絡 閱讀:371 作者:lzf05303774 欄目:MySQL數據庫

一、游標的定義:

create procedure p12()
begin

declare row_name varchar(20);
declare row_num int;

declare myCursor cursor for select name,num from goods;//定義游標myCursor

open myCursor;//打開游標myCursor

fetch myCursor into row_name,row_num;//使用游標myCursor獲取第一行

select row_name, row_num;

fetch myCursor into row_name,row_num;//使用游標myCursor獲取第二行;每fetch一次游標就自動往下游一次.

select row_name, row_num;

close myCursor;//關閉游標myCursor

end;

二、游標+repeat循環-->實現遍歷行:
create procedure p13()
begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;

declare row_count int;
declare i int default 0;

declare myCursor cursor for select gid,name,num from goods;

select count(1) into row_count from goods;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

set i=i+1;

until i>row_count end repeat;

close myCursor;

end;

三、游標+continue handler實現遍歷行:

continue handler 當fetch觸發此handler后,后面的語句繼續執行。
所以會多執行一次select row_gid,row_name,row_num;
此handler常用。

create procedure p15()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare you int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set you=0;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

until you=0 end repeat;

close myCursor;

end;

四、游標+exit handler實現遍歷行:

exit handler 當fetch觸發此handler后,觸發后后面的語句不再執行。
所以select row_gid,row_name,row_num;不會再被執行。
此handler不常用。

create procedure p16()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare you int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare exit handler for NOT FOUND set you=0;

open myCursor;

repeat

fetch myCursor into row_gid,row_name,row_num;

select row_gid,row_name,row_num;

until you=0 end repeat;

close myCursor;

end;

五、游標+while實現遍歷行:

create procedure p15()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare over int default 1;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set over =0;

open myCursor;

fetch myCursor into row_gid,row_name,row_num;

while over do

select row_gid,row_name,row_num;

fetch myCursor into row_gid,row_name,row_num;

end while;

close myCursor;

end;

六、游標+loop實現遍歷行:

-- loop 與 leave,iterate 實現循環
-- loop 標志位無條件循環;leave 類似于Java break 語句,跳出循環,即跳出 begin end;
iterate 類似于java continue ,結束本次循環,繼續下一次循環。
--loop的優點在于可以根據條件結束本次循環或者根據條件跳出循環。

create procedure p17()

begin

declare row_gid int;
declare row_name varchar(20);
declare row_num int;
declare over int default 0;

declare myCursor cursor for select gid,name,num from goods;

declare continue handler for NOT FOUND set over=1;

open myCursor;

cursor_loop:loop

fetch myCursor into row_gid,row_name,row_num;

if over then

leave cursor_loop;

end if;

select row_gid,row_name,row_num;

end loop cursor_loop;

close myCursor;

end;

向AI問一下細節
推薦閱讀:
  1. MySQL 游標
  2. JAVA基礎--JDBC

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

土默特右旗| 兴文县| 淮滨县| 攀枝花市| 绥芬河市| 韶山市| 杨浦区| 柏乡县| 平湖市| 忻州市| 安龙县| 镇赉县| 崇信县| 灵璧县| 墨竹工卡县| 长沙市| 类乌齐县| 周宁县| 南澳县| 达尔| 朝阳市| 永福县| 弥勒县| 攀枝花市| 岐山县| 丹寨县| 栖霞市| 云梦县| 高邮市| 石家庄市| 大港区| 牟定县| 洪泽县| 巢湖市| 额济纳旗| 乌鲁木齐县| 马龙县| 咸宁市| 化德县| 新津县| 杨浦区|