您的位置:首页 > 数据库 > Oracle

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

2010-02-27 21:01 232 查看
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:[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_%';

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息