Skip to main content

Mysql: Multiple loop cursor in procedure

DELIMITER $$

DROP PROCEDURE IF EXISTS `updatequestion` $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `updatequestion`()

 BLOCK1: begin
     declare v_col1 int;
     declare no_more_rows1 boolean default FALSE;
     declare cursor1 cursor for
         select col1
         from   MyTable;
     declare continue handler for not found
         set no_more_rows1 := TRUE;


     open cursor1;
     LOOP1: loop
         fetch cursor1
         into  v_col1;
         if no_more_rows1 then
             close cursor1;
             leave LOOP1;
         end if;


         BLOCK2: begin
             declare v_col2 int;
             declare no_more_rows2 boolean default FALSE;
             declare cursor2 cursor for
                 select col2
                 from   MyOtherTable
                 where  ref_id = v_col1;
             declare continue handler for not found
                 set no_more_rows2 := TRUE;
             open cursor2;
             LOOP2: loop
                 fetch cursor2
                 into  v_col2;
                 if no_more_rows then
                     close cursor2;
                     leave LOOP2;
                 end if;
             end loop LOOP2;
         end BLOCK2;

     end loop LOOP1;

end BLOCK1$$


DELIMITER ;

Comments

Popular posts from this blog

Enable Https by self-signing certification.

  Run make-ssl-cert command > sudo make-ssl-cert generate-default-snakeoil will created 2 files in following directory.     - /etc/ssl/certs/ssl-cert-snakeoil.pem     - /etc/ssl/private/ssl-cert-snakeoil.key Open /etc/apache2/site-avilable and find and modify with below line (with above certs paths) .         SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem         SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key > sudo a2ensite default-ssl > sudo a2enmode ssl > sudo systemctl restart apache2 Open https://localhost

simple recursive function to copy entire directories

<?php function recurse_copy ( $src , $dst ) {     $dir = opendir ( $src );     @ mkdir ( $dst );     while( false !== ( $file = readdir ( $dir )) ) {         if (( $file != '.' ) && ( $file != '..' )) {             if ( is_dir ( $src . '/' . $file ) ) {                 recurse_copy ( $src . '/' . $file , $dst . '/' . $file );             }             else {                 copy ( $src . '/' . $file , $dst . '/' . $file );             }         }     }     closedir ( $dir ); } ?>