怎么样用oracle存储过程循环清空多张的表数据

如题所述

你这多张表要有某种联系。
比如说表名按照日期取名:
这样可以按照这种规律将表名作为参数传入到存储过程中去。
过程中有条件,循环语句来控制。
你试试看。
如果有问题请详细说明。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-17
select * from all_tables;
可以获得当前oracle里所有的表。

使用SELECT table_name FROM all_tables WHERE '一些条件';
可以指定条件获得你需要清空的表名的集合。

最简单的方法就是
begin
for v in (SELECT table_name FROM all_tables WHERE '一些条件') loop
execute immediate 'delete from '||v;
end loop;
commit;
end;
第2个回答  2019-03-01
用truncate、delete都可以,比如要清空一个名为abc的表,就这样写sql:
truncate
table
abc;或者:
delete
from
abc;