
mysql-使用存储过程一次性批量创建多张表
强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码
DELIMITER $$
USE `DBName`$$
DROP PROCEDURE IF EXISTS `pro_TableCreate`$$
CREATE DEFINER=`root`@`%` PROCEDURE `pro_TableCreate`(
)
BEGIN
DECLARE i INT;
DECLARE table_name VARCHAR(20);
SET i = 0;
WHILE i<100 DO
#为了使表名成为xxx00这样的格式加的条件判断
IF i<10 THEN
SET table_name = CONCAT('t_UserLog0',i);
ELSE
SET table_name = CONCAT('t_UserLog',i);
END IF;
SET @csql = CONCAT(
'CREATE TABLE ',table_name,'(
ID bigint(18) UNSIGNED NOT NULL auto_increment COMMENT"注释",
UserID int(10) comment"注释",
ModularID int(4) comment"注释",
BillTypeID int(4) comment"注释",
BillerID bigint(18) comment"注释",
LogTypeID smallint(2) default "0" comment"注释",
Log varchar(1000) comment"注释",
LogDate datetime comment"注释",
Deleted tinyint(1) DEFAULT "0" comment"注释",
DeletedID int(10) comment"注释",
Deletedate datetime comment"注释",
PRIMARY KEY(FInterID)
)ENGINE=Innodb default charset=utf8;'
);
PREPARE create_stmt FROM @csql;
EXECUTE create_stmt;
SET i = i+1;
END WHILE;
END$$
DELIMITER ;