Skip to main content

MYSQL CURSOR

http://rpbouman.blogspot.com/2005/10/nesting-mysql-cursor-loops.html


begin
01        declare no_more_rows boolean default false;
02        declare v_col1       int;
03        declare v_col2       int;
04        declare cursor1 cursor for
05            select col1
06            from   MyTable
07            ;
08        declare cursor2 cursor for
09            select col2
10            from   MyOtherTable
11            where  ref_id = v_col1;
12        declare continue handler for not found
13            set v_done := true;
14   
15        open cursor1;
16        LOOP1: loop
17            fetch cursor1 into v_col1;
18            if v_done then
19                close cursor1;
20                leave LOOP1;
21            end if;
22            open cursor2;
23            LOOP2: loop
24                fetch cursor2 into v_col2;
25                if v_done then
26                    set v_done := false;
27                    close cursor2;
28                    leave LOOP2;
29                end if;
30            end loop LOOP2;
31        end loop LOOP1;
32    end;

Comments

Popular posts from this blog

Javascript Generator as promise

     function* makeIterator(data) {       for(i in data){                 yield data[i];         }     }         function runPull() {         var obj = it.next();         var val;         console.log("RunPull Clicked",obj);         if(!obj.done) {             val = obj.value;             val.click();             setTimeout(function(){                 runPull();             },200);         }     }     ru...

Recursive array calls one after another through promise

 data = [1,2,3,4] rules = [                     function(d){ return d.map(x => x * 2); },                     function(d){ return d.map(x => x * 2); }                ] recursive(0,rules,data); function somelongrunningprocess(rule, data){     var d = $.Deferred();     setTimeout(function(){ var result = rule.call(undefined,data); d.resolve(result); },1000);     return d; } function recursive(index, rules, data) {             if(index < rules.length) {                 $.when(somelongrunningprocess(rules[index],data)).then(function(response){                     console.log("after_rule",respon...