为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:V8
【操作系统】:银河麒麟
【CPU】:
【问题描述】*:DM管理工具如何快速清空库中所有数据,只保留表结构?(不是一个一个表delete,上百个表想快速清空)
declare
tab varchar2(128);
cunt number;
cuntsql varchar2(128);
cursor c_tname is select table_name from user_tables;
begin
open c_tname;
loop
fetch c_tname into tab;
exit when c_tname%notfound;
cuntsql := 'select count(*) from '||tab;
execute immediate cuntsql into cunt;
if cunt > 0 then
execute immediate 'truncate table '||tab;
end if;
end loop;
close c_tname;
end;
/
可以直接truncate table
模式下所有表的话可以拼接一下,比如
select ‘truncate table ‘||table_name||’;’ from SYS.USER_TABLES;