存储过程:批量插入多个表数据

杂文:

   今天qa在群里问,想写个存储过程一次查询32个分表的数据。群里没人会写,年轻的没接触过,年老的忘了。

我试着写个插入,查询也忘了

 CREATE DEFINER=`user`@`%` PROCEDURE `sp_batchinsert`()
BEGIN  DECLARE i INT;
 DECLARE table_name VARCHAR(20); 
 DECLARE table_pre VARCHAR(20); 
 DECLARE sql_text VARCHAR(2000); 
 SET i=0;
 SET table_name='';
 SET table_pre='t_test_';
 SET sql_text='';
 WHILE i<32 DO 
     SET table_name=CONCAT(table_pre,i);
SET sql_text=CONCAT('INSERT INTO ', table_name,' (id, bu_id,ca_id,s_id,create_time)
VALUES( 123, 100, 1, 2,SYSDATE())');
 SELECT sql_text; 
      SET @sql_text=sql_text;
      PREPARE stmt FROM @sql_text;
      EXECUTE stmt;
      DEALLOCATE PREPARE stmt;  
SET i=i+1;
END WHILE;
END

记得原来电信项目有BI部门的好多人搞这个。

猜你喜欢

转载自blog.csdn.net/bohu83/article/details/82466238
今日推荐