mySQL 使用游标小例

今日用到了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;
end

 

2.调用方法

call myProc();

 

另:我用终端MySQLQueryBrowser新建一个script,想调试一下,但调试不通过。报语法异常,可能是不支持该用法,也可能是我用法不对,没有深究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值