阅读背景:

一个例子说明mysql 光标在存储过程中的使用

来源:互联网 
delimiter // -- 声明分隔符
create procedure proce_cursor() -- 声明存储结构
begin
declare tmp_barcode varchar(50); -- 这个量用来存图书码
declare tmp_bookname varchar(50); -- 这个量用来存图书名
declare stop int default 0; -- 这个量用来存循环停止的变量值
declare tmp_price float default 0.0; -- 这个量用来存图书价格
declare bookcount int default 0; -- 这个量用来存图书的数量的
declare cursor_book cursor for select -- 声明游标的
barcode,bookname,price
from tb_bookinfo where typeid = 4;
declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = 0; -- 把停止量初设为0 
open cursor_book; -- 打开游标
select count(*) into bookcount from tb_bookinfo where typeid = 4; -- 找到有几本书
WHILE ( stop < bookcount) DO  -- 如果停止量小于图书总数就循环
fetch cursor_book into tmp_barcode,tmp_bookname,tmp_price; -- 循环获取游标里存的值
select tmp_barcode,tmp_bookname,tmp_price; -- 把存的值显出来
set stop = stop + 1; -- 最后让停止量加一
end while; 
close cursor_book;
end
//delimiter // -- 声明分隔符
create procedure proce_cu



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: