MYSQL使用游標

2021-08-20 03:18:36 字數 1384 閱讀 1041

一:使用游標

(一):宣告游標。

delare cursor_name  cursor  for select_statement;
解釋:cursor_name是游標的名字 ;select_statement表示select語句。因為游標需要遍歷結果集的每一行,增加了伺服器的負擔,導致游標的效率並不高效,。如果使用游標操作的資料超過1萬行,那麼應該採用其他方式,另外使用了游標,應該避免在游標迴圈中進行表連線操作。

(二):開啟游標

open cursor_name
(三):使用游標

fetch cursor_name into var_name[,var_name]......
在上述語句中,將引數游標cursor_name中的select語句的執行結果儲存到引數變數var_name中。變數引數var_name必須在游標使用之前定義。使用游標類似高階語言中的陣列遍歷,當第一次使用游標時,此時游標指向結果集的第一天記錄的前邊。

(四):關閉游標

close cursor_name;
例子:

delimiter $$

create procedure p()

begin

declare id int;

declare flag int;

declare num int ;

declare test_cursor cursor for select student_id from students_info;//建立游標

declare continue handler for not found set flag=1;//當查詢不到內容時設定flag=1;

set num=0;

set flag=0;

open test_cursor;//開啟游標

fetch test_cursor into id;//把游標的內容給id

while flag<>1 do

if id >2 then

set num=num+1;

end if;

fetch test_cursor into id;

end while;

close test_cursor;

select num;

end$$

demiliter ;

mysql中使用游標

sql view plain copy set max sp recursion depth 100 下面是mysql遞迴呼叫的源 sql view plain copy dropdelimiter createin uidvarchar 225 in ncountint begin declare...

MySQL之使用游標

mysql檢索操作返回一組成為結果集的行。使用簡單的select語句,例如,沒有辦法得到第一行 下一行或前10行,也不存在每次一行的處理所有行的簡單辦法。有時,需要再檢索出來的行中前進或後退一行或多行。這就是使用游標的原因。mysql游標只能用於儲存過程 和函式 建立游標 delimiter cre...

使用游標 引數游標

參游標是指帶有引數的游標。在定義了引數游標之後,當使用不同引數值多次開啟游標時,可以生成不同的結果集。定義引數游標的語法如下 cursor cursor name parameter name datetype is select statement 注意,當定義引數游標時,游標引數只能指定資料型別...