2014-02-26 24 views
0

我有一个名为backup_audit的分区的备份表。我需要将当前的月份分区数据插入另一个没有数据的称为审计的非分区表中。我们如何创建一个sql查询来获取当前的月份分区并加载到非分区表?将当前月份分区表中的数据插入到oracle中的非分区表中

这里是我试过(没有成功):

select partition_name 
from dba_tab_partition 
where partition_name in (
    select high_value 
    from dba_tab_partition 
    where table_name='table_backup' and high_value in (
     select to_char(sysdate, 'YYYYMM') from dual 
    ) 
) 
+0

我想这一点,但并没有从dba_tab_partition摸出 – user3356919

+0

选择的partition_name其中的partition_name中(从dba_tab_partition选择HIGH_VALUE在表格名=“table_backup”和HIGH_VALUE中(选择to_char(sysdate,'YYYYMM')from dual)) – user3356919

+0

“high_value”是一个LONG数据类型(不幸的是)。你需要使用pl/sql来提取你想比较的时间戳(皮塔我知道) – tbone

回答

1

你并不需要基准分区选择当前月份的数据。假设你的backup_audit表范围内audit_date分区:

insert 
    into audit(col1, col2, col3, ColN) 
select col1, col2, col3, ColN 
    from backup_audit 
where audit_date >= trunc(sysdate, 'MM') 
    and audit_date < last_day(trunc(sysdate)) + 1; 
相关问题