小编Mar*_*cus的帖子

存储过程中的动态游标

我想在游标中使用LIMIT.应在循环内多次使用和更新游标,每次使用不同的LIMIT参数.这里有一些代码:

DELIMITER $$
CREATE PROCEDURE `updateIt`() READS SQL DATA
BEGIN

declare done int(1) default 0;
declare counter int(10) default 0;
declare xabc int(10) default 0;

declare tab1Cursor cursor for select abc from tab1 limit 100000*counter, 100000;
declare continue handler for not found set done=1;

loopCounter: LOOP
    set done = 0;
    open tab1Cursor;
    igmLoop: loop
        fetch tab1Cursor into xabc;
        if done = 1 then leave igmLoop; end if;
        -- do something
    end loop igmLoop;
    close tab1Cursor;

    if (counter = 1039) 
        leave …
Run Code Online (Sandbox Code Playgroud)

mysql stored-procedures cursor limit

11
推荐指数
1
解决办法
2万
查看次数

标签 统计

cursor ×1

limit ×1

mysql ×1

stored-procedures ×1