现在测试库有400多个表需要反复清空,用于测试。我在PL/SQL中只能单条用
truncate table1;
truncate table2;
truncate table3;
truncate table4;
......
一次只能选定一条执行,选定多条执行报错,能否写个存储过程,或者批处理,清空时执行下就可以了。
请高手出手相救啊》。。
truncate table1;
truncate table2;
truncate table3;
truncate table4;
......
一次只能选定一条执行,选定多条执行报错,能否写个存储过程,或者批处理,清空时执行下就可以了。
请高手出手相救啊》。。
解决方案 »
- SQL语句求指导
- select语句中select部分提示“未明确定义列”,无解
- 求解大于平均分的记录
- Oracle 数据查询的问题~!
- 协议适配器错误~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 一加主机字符串,就报没有监听
- 哪里有好的Oracle 书籍下载?100分谢....
- 关于select decode('COL1','COL1',(select 'VALUE1' from DUAL),NULL) from DUAL
- 同时熟悉sql server和oracle的大侠们评估一下:系统从sql server 迁移到oracle的工作量(详情见帖)
- 我在安装clusterware结束的时候,运行root.sh的时候报错,请问怎么解决!
- 求ORACLE10G的非官网下载地址
- 请教简单的数据库SQL操作
begin
for c in(select table_name from user_tables) loop
EXECUTE IMMEDIATE 'truncate table '||c.table_name;
end loop;
end ;
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;
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;先处理外键再truncate
但是我要清的不是全部表,这400多张表是整个实例中的一部分,wfqqwer5213 的方法不是把所有的都清掉了?
如果不固定,还不好办了
执行这个,把执行的得到的结果导出到文件,执行一下,就ok了
begin
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;
for c1 in(select table_name from temp_tables_tab) 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;
SQL> @d:\truc.sql
truc.sql内容
truncate table1;
truncate table2;
truncate table3;
truncate table4;
...... 批量执行sql: SQL> @d:\truc.sql