Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak zawrzeć więcej niż jedną partycję w pojedynczej instrukcji select w oracle?

Istnieją co najmniej trzy sposoby wybierania danych z określonych partycji. Zobacz podręcznik aby uzyskać dokładny opis składni.

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% czasu opcja nr 1 powinna wystarczyć. Oracle automatycznie określi, które partycje są używane, i dokona prawidłowego przycięcia. W przypadkach, w których przycinanie nie działa poprawnie lub bardziej logiczne jest wybieranie na podstawie nazwy lub klucza partycji, powinny działać opcje #2 lub #3.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mogę dołączyć do różnych źródeł danych w SSRS?

  2. Jak połączyć dwie tabele w posiadanie tych samych kolumn?

  3. Cienki klient JDBC Oracle w celu przełączenia awaryjnego na drugą bazę danych

  4. Ucieczka przed symbolami wieloznacznymi w LIKE

  5. Czy powinienem usunąć lub wyłączyć wiersz w relacyjnej bazie danych?