mySQL 使用游標小例

2021-05-04 10:42:13 字數 830 閱讀 3980

今日用到了mysql,於是對其游標調查了一番,感覺和oracle的用法大同小異。下面是個小例子。

1.建立procedure。

create myproc()

begin

declare selyear varchar(4);

declare starttime datetime;

declare cur1 cursor for (select start_year  from testtable);

#這點需要注意

#mysql 需要用異常來判斷是否迴圈終了。

#異常時,把變數selyear設為 null 跳出迴圈。

#類似oracle的 no_data_found

declare continue handler for sqlstate '02000' set selyear = null;

#開始時間

set starttime = now();

open cur1;

fetch cur1 into selyear;

while(selyear is not null) do

#可以在這裡做一些動作

fetch cur1 into selyear;

end while;

close cur1;

#檢視執行時間

select now() - starttime;

end2.呼叫方法

call myproc();

另:我用終端mysqlquerybrowser新建乙個script,想除錯一下,但除錯不通過。報語法異常,可能是不支援該用法,也可能是我用法不對,沒有深究。

MYSQL使用游標

一 使用游標 一 宣告游標。delare cursor name cursor for select statement 解釋 cursor name是游標的名字 select statement表示select語句。因為游標需要遍歷結果集的每一行,增加了伺服器的負擔,導致游標的效率並不高效,如果使...

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...