sql >> Databáze >  >> RDS >> Oracle

Jak zahrnout více než jeden oddíl do jednoho příkazu select v oracle

Existují alespoň tři způsoby, jak vybrat data z konkrétních oddílů. Viz příručku pro podrobný popis syntaxe.

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 % času možnost #1 by měla být dostačující. Oracle automaticky určí, které oddíly jsou použity, a správně je ořeže. V případech, kdy prořezávání nefunguje správně nebo je logičtější vybrat na základě názvu oddílu nebo klíče, by měly fungovat možnosti #2 nebo #3.




  1. Vytvořte materializovaný pohled, který denně obnovuje záznamy

  2. Posouvání určitých záznamů na konec běhu se stejným datem

  3. postgres unaccent funkce vs RoR transliterate

  4. Clustery následovníků – 3 hlavní případy použití pro synchronizaci nasazení SQL a NoSQL