mysql中的游標是乙個十分重要的概念。游標提供了一種對從表中檢索出的資料進行操作的靈活手段,就本質而言,游標實際上是一種能從包括多條資料記錄的結果集中每次提取一條記錄的機制。mysql中的游標的語法如下:
declare cursor-name cursor for select ...; /* 宣告乙個游標,名稱為cursor-name,並用cursor for select*/
declare continue handler for not found /*指定當遍歷完結果集後,游標如何繼續處理*/
open cursor-name; /*開啟游標 */
fetch cursor-name into variable [, variable]; /* 將變數賦值給游標*/
close cursor-name; /*使用後關閉游標*/
乙個具體的例子如下:
delimiter //
create procedure `proc_cursor` (out param1 int)
begin
declare a, b, c int;
declare cur1 cursor for select col1 from table1;
declare continue handler for not found set b = 1;
open cur1;
set b = 0;
set c = 0;
while b = 0 do
fetch cur1 into a;
if b = 0 then
set c = c + a;
end if;
end while;
close cur1;
set param1 = c;
end //
其中,declare cur1 cursor for select col1 from table1;
表示將從table1表中選取col1列的內容放到游標curl中,即每次游標遍歷的結果都放在curl中,要注意游標只能向前遍歷,而不能向後,並且注意,游標不能更新,最後關閉游標。
MySQL 游標 游標
游標cursor是用來儲存查詢結果集的 資料型別 在儲存過程和函式中可以使用游標對結果集進行迴圈的處理。游標的使用包括游標的宣告 open fetch 和 close,其語法分別如下 宣告游標 declare cursor name cursor for select statement open ...
mysql游標型別 MySQL 游標
drop procedure if exists processorders create procedure processorders begin declare done boolean default 0 declare a int declare b varchar 20 定義游標遍歷時,...
mysql儲存過程簡單例項 變數賦值 游標遍歷
應用場景 有兩張表,學生表和對應的各科成績表。學生表student 字段 id int name varchar 20 數值 1 a 2 b 成績表score 字段 id int studentid int subjectid int score int 數值 1 1 1 80 2 1 2 90 3...