Mysql儲存過程遊標使用
阿新 • • 發佈:2018-12-11
--在windows系統中寫儲存過程時,如果需要使用declare宣告變數,需要新增這個關鍵字,否則會報錯。 delimiter // drop procedure if exists StatisticStore; CREATE PROCEDURE StatisticStore() BEGIN --建立接收遊標資料的變數 declare c int; declare n varchar(20); --建立總數變數 declare total int default 0; --建立結束標誌變數 declare done int default false; --建立遊標 declare cur cursor for select name,count from store where name = 'iphone'; --指定遊標迴圈結束時的返回值 declare continue HANDLER for not found set done = true; --設定初始值 set total = 0; --開啟遊標 open cur; --開始循環遊標裡的資料 read_loop:loop --根據遊標當前指向的一條資料 fetch cur into n,c; --判斷遊標的迴圈是否結束 if done then leave read_loop; --跳出遊標迴圈 end if; --獲取一條資料時,將count值進行累加操作,這裡可以做任意你想做的操作, set total = total + c; --結束遊標迴圈 end loop; --關閉遊標 close cur; --輸出結果 select total; END; --呼叫儲存過程 call StatisticStore();