一个简单的存储过程

           今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此:

 

        

DELIMITER $$  
DROP PROCEDURE IF EXISTS insert_data$$  
CREATE PROCEDURE insert_data (totalRecord INT)  
    BEGIN  
        DECLARE counter INT DEFAULT 0;
				DECLARE resOrder INT DEFAULT 14;  
  
    my_loop : LOOP  
        SET counter = counter + 1;

				INSERT INTO resource(folder_id,name,description,cover_img_path,cover_img_title,resOrder,hot) 
					VALUES ('3', 'test', '<p>ddd</p>', 'travel/1413437649442.jpg', 'test', resOrder, '0');
			
				SET resOrder = resOrder + 1;

        IF counter >= totalRecord THEN  
            LEAVE my_loop;  
        END IF;  
    END LOOP my_loop;  
    END$$  
DELIMITER; 

call insert_data();

 

 

    简单的解释下:

   

    DELIMITER $$   是临时将结束符换成$$

   

     后面定义了一个存储过程,里面写了一点逻辑,然后进行了调用,最后调用,可以传递一个参数。

 

    我在四年前写过一篇关于存储过程的博客,大家感兴趣的可以参考:

 

    http://asialee.iteye.com/blog/1008550

 

 

 

   

你可能感兴趣的:(mysql,存储过程,构造数据,批量插入)