分表存储过程
CREATE DEFINER=`hs_us_hq`@`%` PROCEDURE `bk_trade_data`()
BEGIN
#Routine body goes here...
IF EXISTS (
select * from us_trade_date
where TRADE_DATE = DATE(NOW()) and status = 1
) THEN
SET @sqlstr = CONCAT('rename table us_hq_trade_data to us_hq_trade_data_',DATE_FORMAT(date_sub(curdate(),interval 1 day),'%Y%m%d'));
PREPARE stmt1 FROM @sqlstr ;
EXECUTE stmt1 ;
CREATE TABLE `us_hq_trade_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`security_code` varchar(20) DEFAULT NULL COMMENT '股票代码',
`trade_id` int(11) DEFAULT NULL COMMENT '交易ID',
`price` decimal(10,3) DEFAULT NULL COMMENT '价格',
`quantity` int(11) DEFAULT NULL COMMENT '交易数量',
`market` varchar(10) DEFAULT NULL,
`trd_type` tinyint(4) DEFAULT NULL COMMENT '交易类型',
`trade_number` int(11) DEFAULT NULL,
`trade_time` varchar(32) DEFAULT NULL COMMENT '交易时间',
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `uhtd_unique_index` (`security_code`,`trade_number`,`market`) USING BTREE,
KEY `idx_trade_time_number` (`trade_time`,`trade_number`)
) ENGINE=InnoDB AUTO_INCREMENT=7400442 DEFAULT CHARSET=utf8mb4;
END
IF;
END
mysql分表存储过程
最新推荐文章于 2024-07-29 18:11:33 发布