ITPub博客

首页 > 数据库 > 国内数据库 > GBase 如何批量清空某数据库中部分表的数据?

GBase 如何批量清空某数据库中部分表的数据?

原创 国内数据库 作者:lbfv 时间:2021-01-04 16:36:29 0 删除 编辑

编写 一 个存储过程来实现: 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-2747337/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-07-28

  • 博文量
    56
  • 访问量
    30298