杂文:
今天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部门的好多人搞这个。