sql >> Database teknologi >  >> RDS >> Oracle

Sådan inkluderes mere end én partition i en enkelt select-sætning i Oracle

Der er mindst tre måder at vælge data fra specifikke partitioner på. Se manualen for en grundig beskrivelse af syntaksen.

create table agg_summary (period date, lvl_id number)
partition by list (lvl_id)
(
    partition p1 values (1),
    partition p2 values (2),
    partition p3 values (3)
);

--#1: Normal predicate:
select * from agg_summary where lvl_id in (1,2);

--#2: Partition_extended_name:
select * from agg_summary partition (p1)
union all
select * from agg_summary partition (p2);

--#3: Partition_excension_clause:
select * from agg_summary partition for (1)
union all
select * from agg_summary partition for (2);

99,9 % af tiden burde mulighed #1 være tilstrækkelig. Oracle vil automatisk bestemme, hvilke partitioner der bruges og beskærer korrekt. I tilfælde, hvor beskæring ikke fungerer korrekt, eller det er mere logisk at vælge baseret på partitionsnavnet eller nøglen, burde valg #2 eller #3 fungere.




  1. Agentnedlæggelse i EM13c

  2. tælle antal aktive dage formulardatabase

  3. UI-designmønstre, der ikke skaleres

  4. Sådan returneres 0 i stedet for null, når du bruger COUNT i MySQL