IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置: 首页数据库Oracle → ORACLE清空某用户下所有表记录truncate

ORACLE清空某用户下所有表记录truncate

时间:2015-06-28 00:00:00 来源:IT猫扑网 作者:网管联盟 我要评论(0)

  declare

  towner varchar2(30);

  begin

  towner := '&user';

  /*

  先禁用表上所有的外键约束

  */

  for c in (select 'alter table '||owner||'.'||t.table_name || ' disable CONSTRAINT '||t.constraint_name as csql from all_constraints t where t.owner = towner  and t.constraint_type='R')

  loop

  begin

  execute immediate c.csql;

  dbms_output.put_line(c.csql|| '  ...........√');

  exception

  when others then

  dbms_output.put_line(c.csql||' ..........ⅹ');

  end;

  end loop;

  /*

  开始清理表数据

  */

  for c in (select owner,object_name,'truncate table '|| owner||'.'||object_name as dsql

  from all_objects  where object_type='TABLE'  and owner = towner) loop

  begin

  execute immediate c.dsql;

  dbms_output.put_line(c.dsql || '  ...........√');

  exception

  when others then

  dbms_output.put_line(c.dsql||' ..........ⅹ');

  end;

  end loop;

  /*

  启用表上的外键约束

  */

  for c in (select 'alter table '||owner||'.'||table_name || ' enable CONSTRAINT '||t.constraint_name as csql from all_constraints t where t.owner = towner  and t.constraint_type='R')

  loop

  begin

  execute immediate c.csql;

  dbms_output.put_line(c.csql|| '  ...........√');

  exception

  when others then

  dbms_output.put_line(c.csql||' ..........ⅹ');

  end;

  end loop;

  end;

关键词标签:ORACLE

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列的语法 Oracle中使用alter table来增加,删除,修改列的语法 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 误删Oracle数据库实例的控制文件 误删Oracle数据库实例的控制文件 为UNIX服务器设置Oracle全文检索 为UNIX服务器设置Oracle全文检索

人气排行 1oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 2Oracle中使用alter table来增加,删除,修改列的语法 3ORACLE SQL 判断字符串是否为数字的语句 4ORACLE和SQL语法区别归纳(1) 5oracle grant 授权语句 6ORACLE修改IP地址后如何能够使用 7如何加速Oracle大批量数据处理 8Oracle删除表的几种方法