首页 > 数据库 > 国内数据库 > GBase 如何批量清空某数据库中部分表的数据?
编写 一 个存储过程来实现: drop procedure if exists truncate_tables; delimiter // CREATE PROCEDURE truncate_tables(db_name varchar(50)) // 根据情况可以增加参数 BEGIN DECLARE done INT DEFAULT 0; DECLARE tname varchar(50); DECLARE cur1 CURSOR FOR SELECT table_name from INFORMATION_SCHEMA.TABLES WHERE table_schema = db_name; // 根据情况修改条件 DECLARE CONTINUE HANDLER FOR SQLSTATE ' 02000 ' SET done = 1; OPEN cur1; REPEAT FETCH cur1 INTO tname; IF NOT done THEN set @str= concat( ' truncate table ' , tname); prepare stmt1 from @str; execute stmt1; deallocate prepare stmt1; END IF; UNTIL done END REPEAT; CLOSE cur1; END//
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979511/viewspace-2849685/ ,如需转载,请注明出处,否则将追究法律责任。