mysql存储过程备份表

CREATE DEFINER=`root`@`%` PROCEDURE `ChintBarcode_Backup`()
BEGIN
    SET @backupMonth = DATE_FORMAT(date_sub(curdate(),interval 4 MONTH),'%Y%m'); 
  SET @tableName = CONCAT("chint_barcode_" ,DATE_FORMAT(curdate(),'%Y'));
    
    -- 动态创建表
    SET @createSql = CONCAT('create table IF NOT EXISTS ',@tableName,"
        (
            `cod` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
            `barcodeType` varchar(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `boxBarcode` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `clerk` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `containBarcode` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `invalidDate` datetime(6) NULL DEFAULT NULL,
            `invalider` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `isInvalid` int(11) NULL DEFAULT 0,
            `jetCode` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `madeDate` datetime(6) NULL DEFAULT NULL,
            `pONo` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `printCount` int(11) NULL DEFAULT NULL,
            `printDate` datetime(6) NULL DEFAULT NULL,
            `printID` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `ProductCode` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `ProductDesc` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `quantity` int(11) NULL DEFAULT NULL,
            `sortSeq` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `unit` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            `dimension` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
            PRIMARY KEY (`cod`) USING BTREE,
            INDEX `cBarcode`(`containBarcode`) USING BTREE,
            INDEX `pONo`(`pONo`) USING BTREE,
            INDEX `boxBarcode`(`boxBarcode`) USING BTREE
        ) ENGINE = InnoDB
    ");
    PREPARE createSql FROM @createSql;
  EXECUTE createSql;
    -- 动态创建表
    
    -- 插入数据
    SET @insertSql = CONCAT('INSERT INTO ',@tableName," 
                 SELECT * from chint_barcode where DATE_FORMAT(madeDate,'%Y%m')=",
        @backupMonth);
    PREPARE insertSql FROM @insertSql;
    EXECUTE insertSql;
  -- 插入数据
    
    -- 删除数据
        SET @deleteSql = CONCAT("DELETE FROM chint_barcode where DATE_FORMAT(madeDate,'%Y%m')=",@backupMonth);
        PREPARE deleteSql FROM @deleteSql;
        EXECUTE deleteSql;
    -- 删除数据

END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值