Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana cara memasukkan lebih dari satu partisi dalam satu pernyataan pilih di Oracle

Setidaknya ada tiga cara untuk memilih data dari partisi tertentu. Lihat manual untuk deskripsi sintaks yang menyeluruh.

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% dari opsi waktu #1 seharusnya sudah cukup. Oracle akan secara otomatis menentukan partisi mana yang digunakan dan akan memangkas dengan benar. Untuk kasus di mana pemangkasan tidak bekerja dengan benar, atau lebih logis untuk memilih berdasarkan nama partisi atau kunci, opsi #2 atau #3 akan berfungsi.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menangani Pengecualian ORACLE

  2. Bagaimana menangani pengecualian kursor ketika kueri pemilihan mengembalikan nol catatan

  3. Simpan data tanggal-waktu sebagai angka

  4. Berjuang dengan pegas SimpleJdbcCall untuk memanggil fungsi Oracle

  5. Mengembalikan Kursor saya di fungsi Oracle PL/SLQ saya tetapi tidak semua baris dikembalikan. Bisakah Anda hanya mengembalikan 1 baris dalam fungsi Oracle pl/sql?