ABN 25 173 915 011 markomedia - web development

markomedia - web development

  • Home
  • Contact
  • Blog

March 14, 2012

MySQL cursors in stored procedures

  • markomedia
    • MySQL
      • MySQL cursors in stored procedures
Share |
  • Author
    Marko Tomic
    Category
    MySQL
    Tags
    cursors, MySQL, StoredProcedures
    Comments
    0

    I’ve wanted to write a few stored procedures in MySQL for a while now, but I found it very fiddly and was unable to come up with one very quickly. Tonight I was determined to read up on MySQL documentation and get one going.

    For my reference only, this stored procedure will loop through a recordset and update a single row in a table upon a single row lookup in another table.

    DELIMITER // 
     
    DROP PROCEDURE IF EXISTS sp_test //
     
    CREATE PROCEDURE sp_test ()
    BEGIN
    	DECLARE done INT DEFAULT FALSE;
    	DECLARE myid INT;
    	DECLARE cur1 CURSOR FOR SELECT id from table1 WHERE firstname IS NULL;
    	DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
     
    	OPEN cur1;
     
    	read_loop: LOOP
    		IF done THEN
    			LEAVE read_loop;
    		END IF;
     
    		FETCH cur1 INTO myid;
    		UPDATE table1 SET firstname = (SELECT firstname from table2 WHERE id = myid)
    		WHERE id = myid;
    	END LOOP;
     
    	close cur1;
    END;
    //

    Once I got the procedure to compile, executing it was as simple as:

    call sp_test

    Marko

  • Previous post
  • Next post
Top

Related posts

  • Compile PHP pcntl module on OS X Lion
  • IE6, IE7, IE8, & IE9 on OS X in Virtual Machine
  • opendiff and FileMerge on OS X
  • Bandwidth throttling on OS X
  • bash script useful tips

Share this post

Author Marko Tomic

Gravatar

Leave a comment

No comments yet.

Search

QR Code

Recent Posts

  • Compile pcntl PHP extension

    Compile PHP pcntl module on OS X Lion

  • Stored Procedures

    MySQL cursors in stored procedures

  • IE 8 and IE6 on OS X VirtualBox

    IE6, IE7, IE8, & IE9 on OS X in Virtual Machine

Popular

  • Verizon Activates 2.2 Million iPhones in First Quarter

  • Amazon Server Trouble, Obama’s Facebook Visit.

  • Best Practices for Android Developers

Comments

  • Ionel Alexandru on Flash to Flex ComponentEvent coercion error solved
  • Marko Tomic on Zen Cart to VirtueMart csv export
  • snake on Zen Cart to VirtueMart csv export
  • Marko Tomic on Flash to Flex ComponentEvent coercion error solved
  • Thomas on Flash to Flex ComponentEvent coercion error solved

Tags

  • Apache6
  • AS36
  • bash2
  • ColdFusion2
  • command1
  • difftool1
  • DVD1
  • filemerge1
  • Flash3
  • Flex6
  • general2
  • Handbreak1
  • HOWTO8
  • IE61
  • IE71
  • IE81
  • IE91
  • iPhone1
  • iTunes1
  • Jaber1
  • java5
  • Linux3
  • MySQL4
  • networking1
  • opendiff1
  • OS X8
  • PHP4
  • Railo4
  • Red52
  • S31
  • shell3
  • SQL1
  • SSH2
  • SSL1
  • SVN1
  • tar1
  • Terminal3
  • Tigase1
  • Tomcat2
  • Ubuntu2
  • utilities1
  • VirtueMart1
  • XMPP1
  • ZenCart2
  • zip1

Contact us

  • Call us

Archive

  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • May 2011
  • December 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009

Navigation

  • Home
  • Contact
  • Blog

Archives

  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • May 2011
  • December 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • February 2010
  • January 2010
  • December 2009
  • November 2009
  • October 2009

From the blog

  • Compile PHP pcntl module on OS X Lion

  • MySQL cursors in stored procedures

  • IE6, IE7, IE8, & IE9 on OS X in Virtual Machine

  • opendiff and FileMerge on OS X

  • Bandwidth throttling on OS X

About us

Marko Tomic - Web professional and an Adobe Certified Expert with over 10 years of commercial experience using variety of technologies.

Connect

Facebook icon Twitter icon Email icon RSS icon