mysql-使用存储过程一次性批量创建多张表

mysql-使用存储过程一次性批量创建多张表
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码 

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说mysql-使用存储过程一次性批量创建多张表,希望能够帮助大家进步!!!

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 ;

 

本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/18327

发表评论