declare
l_str varchar2(8);
begin
for x in (select distinct partition_name from user_tab_partitions where table_name='T_DW_XA_GLOG_SHOPTRADE' and partition_name like 'SYS%')
loop
execute immediate
'select distinct to_char(logtime,''yyyymmdd'') from t_dw_xa_glog_shoptrade partition('||x.partition_name||')' into l_str;
execute immediate
'alter table t_dw_xa_glog_shoptrade rename partition "'||x.partition_name ||'" to "'||'P'||l_str||'"';
end loop;
end;