#使用存储过程
delimiter //
CREATE PROCEDURE createTablesInBulk () BEGIN
DECLARE
i INT;
DECLARE
table_name VARCHAR ( 200 );
DECLARE
table_pre VARCHAR ( 200 );
DECLARE
sql_text VARCHAR ( 10000 );
SET i = 1;
SET table_name = '';
SET table_pre = 'product_stocket_log';
SET sql_text = '';
WHILE
i < 101 DO
IF
i < 10 THEN
SET table_name = CONCAT( table_pre, "0", i );
ELSE
SET table_name = CONCAT( table_pre, i );
END IF;
SET sql_text = CONCAT( 'CREATE TABLE ', table_name, "(
`psl_id` int(11) NOT NULL AUTO_INCREMENT,
`product_id` int(11) NOT NULL DEFAULT ' 0 ' COMMENT '产品 ID ',
`user_id` int(11) NOT NULL DEFAULT ' 0 ' COMMENT '操作用户 ID / 0系统 /- 1客户 ',
`psl_type` tinyint(1) NOT NULL DEFAULT ' 0 ' COMMENT ' 0:减库存;1:加库存 ',
`psl_current_value` int(11) NOT NULL DEFAULT ' 0 ' COMMENT '当前可用库存',
`psl_current_value_hold` int(11) DEFAULT ' 0 ' COMMENT '当前冻结库存数量',
`psl_note` varchar(255) NOT NULL DEFAULT '' COMMENT '备注',
`psl_add_time` datetime NOT NULL COMMENT '添加时间',
`warehouse_id` int(11) NOT NULL DEFAULT ' 80 ' COMMENT '仓库 ID ',
`psl_value` int(11) DEFAULT ' 0 ' COMMENT '当前操作数量',
`psl_is_show` tinyint(1) DEFAULT ' 1 ' COMMENT ' 0:不显示,1:显示 ',
PRIMARY KEY (`psl_id`),
KEY `product_id` (`product_id`),
KEY `warehouse_id` (`warehouse_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='产品库存日志表';" );
SET @sql_text = sql_text;
PREPARE stmt
FROM
@sql_text;
EXECUTE stmt;
SET i = i + 1;
END WHILE;
END;
#调用
CALL createTablesInBulk ();
#删除程序
DROP PROCEDURE createTablesInBulk;
//
版权声明:本文为x1207008324原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。