MySQL如何在存储过程进行切换表

发布时间:2021-09-14 18:07 来源:亿速云 阅读:0 作者:柒染 栏目: Mysql 欢迎投稿:712375056

如何在存储过程进行切换表,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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 ;

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。