六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 41|回复: 0

使用存储过程清空oracle中所有的表的数据

[复制链接]

升级  22%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
83
 楼主| 发表于 2013-1-26 14:00:52 | 显示全部楼层 |阅读模式
create or replace procedure del_all isbegin--禁用所有主外键  for c in (select t.constraint_name, t.table_name              from USER_CONSTRAINTS t             where t.constraint_type = 'R') loop    EXECUTE IMMEDIATE  'alter table '||c.table_name||' DISABLE CONSTRAINT '|| c.constraint_name;  end loop;--truncate table 清空所有表  for c1 in (select table_name from user_tables  ) loop    EXECUTE IMMEDIATE  'truncate table ' || c1.table_name;  end loop;--启用所有主外键  for c2 in (select t.constraint_name, t.table_name               from USER_CONSTRAINTS t              where t.constraint_type = 'R') loop    EXECUTE IMMEDIATE  'alter table  ' || c2.table_name || ' ENABLE CONSTRAINT ' || c2.constraint_name;  end loop;end del_all; 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表