MySQL中的游標
點擊關注上方“SQL數(shù)據(jù)庫開發(fā)”,
設為“置頂或星標”,第一時間送達干貨
DECLARE 游標名稱 CURSOR FOR SQL語句;
2、打開游標
OPEN 游標名稱;
FETCH 游標名稱 INTO 變量名稱[,變量名稱];
CLOSE 游標名稱;

CREATE PROCEDURE PROC1()BEGIN-- 定義兩個存放結果的變量DECLARE NAME VARCHAR(20);DECLARE ADDR VARCHAR(50);-- 聲明游標DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;-- 打開游標OPEN MY;-- 獲取結果FETCH MY INTO NAME,ADDR;-- 這里是為了顯示獲取結果SELECT NAME,ADDR;-- 關閉游標????CLOSE?MY;????END;
CALL?PROC1();
CREATE PROCEDURE PROC2()BEGIN-- 定義兩個存放結果的變量DECLARE FLAG INT DEFAULT 0;DECLARE NAME VARCHAR(20);DECLARE ADDR VARCHAR(50);-- 聲明游標DECLARE MY CURSOR FOR SELECT 姓名,地址 FROM customers;DECLARE CONTINUE HANDLER FOR NOT FOUND SET FLAG=1;-- 打開游標OPEN MY;????--?循環(huán)體部分L1:LOOP-- 獲取結果FETCH MY INTO NAME,ADDR;IF FLAG=1 THENLEAVE L1;END IF;-- 這里是為了顯示獲取結果INSERT INTO cus VALUES(NAME,ADDR);-- 關閉游標END LOOP; -- 結束循環(huán)CLOSE MY;END;
然后我們執(zhí)行這個存儲過程,并查詢cus表里的數(shù)據(jù)
CALL?PROC2();SELECT?*?FROM?cus;

最后給大家分享我寫的SQL兩件套:《SQL基礎知識第二版》和《SQL高級知識第二版》的PDF電子版。里面有各個語法的解釋、大量的實例講解和批注等等,非常通俗易懂,方便大家跟著一起來實操。
有需要的讀者可以下載學習,在下面的公眾號「數(shù)據(jù)前線」(非本號)后臺回復關鍵字:SQL,就行
數(shù)據(jù)前線
后臺回復關鍵字:1024,獲取一份精心整理的技術干貨
后臺回復關鍵字:進群,帶你進入高手如云的交流群
推薦閱讀
評論
圖片
表情

