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_%';
=============================================================================