oracle 一次删除多张表的数据(未测试版)

spool d:/deletetb.sql;
select 'delete ' || table_name || ' where to_char(col,'||'''yyyy'''||')='||'''2007'''||';'
  from user_tables
where table_name in  (select 'HS_' || lpad(rownum, '2', '0')
          from dual
        connect by rownum < 100);
spool off;

 

 

 

==================================================================================

 

--类似如下

PHP code:
  
  


begin

  
for x in (select from user_objects where object_name like 'HS_%'loop

     execute immediate 
'delete from '||x.object_name||' where substr(apl_date,0,4)=''2007''';

  
end loop;

end;

 



where object_name like 'HS_%' => where object_name like 'HS/_%' escape '/'  

 

 

 

 

 

 

 

 

 

===============================================================================

测试后版本:

select 'select * from '||table_name||' where yearmonth=''201001'';'
from dba_tables where table_Name like 'DW_CU_B_%';

 

 

 

 

 

 

 

 

 

 

=============================================================================

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值