一:使用游標
(一):宣告游標。
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 注意,當定義引數游標時,游標引數只能指定資料型別...