首页 > 数据库 > MySQL > MySQL 存储过程进行切换表
DELIMITER $$
DROP PROCEDURE IF EXISTS `sp_revoke_table`$$
CREATE DEFINER=`root`@`%` PROCEDURE `sp_revoke_table`(p_table_name VARCHAR(100))
BEGIN
SET @t_tb_src = p_table_name;
SELECT CONCAT("create table _tmpdba like ", @t_tb_src) INTO @t_sql FROM DUAL;
PREPARE stmt_1 FROM @t_sql;
EXECUTE stmt_1;
DEALLOCATE PREPARE stmt_1;
SELECT CONCAT("_", @t_tb_src, "_", DATE_FORMAT(NOW(),'%Y%m%d_%H%i%s'), "_del") INTO @t_table_today FROM DUAL;
SELECT CONCAT("rename table ", @t_tb_src, " TO ",@t_table_today, ", _tmpdba to ", @t_tb_src ) INTO @t_sql FROM DUAL;
PREPARE stmt_2 FROM @t_sql;
EXECUTE stmt_2;
DEALLOCATE PREPARE stmt_2;
END$$
DELIMITER ;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26250550/viewspace-2687344/ ,如需转载,请注明出处,否则将追究法律责任。