ITPub博客

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

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

原创 国内数据库 作者:lbfv 时间:2021-12-28 13:19:11 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-2849685/ ,如需转载,请注明出处,否则将追究法律责任。

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

注册时间:2020-07-28

  • 博文量
    56
  • 访问量
    30294