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

Bagaimana cara menggunakan nama partisi sebagai parameter dalam pernyataan pilih?

Seperti yang sudah dinyatakan dalam komentar saya, saya pikir PARALLEL tidak masuk akal (tapi saya tidak yakin tentang itu) dan menjalankan setiap partisi satu per satu juga tidak berguna ketika Anda menyalin seluruh tabel.

Bagaimanapun, kode Anda akan berfungsi ketika Anda menulisnya seperti ini:

FOR i in products_tab.first .. products_tab.last LOOP
   EXECUTE IMMEDIATE 'ALTER SESSION FORCE PARALLEL DML PARALLEL 24';
   EXECUTE IMMEDIATE 'INSERT /*+ APPEND PARALLEL(24) */ INTO tbla2
      ("ID", datetime, ...)
   SELECT * 
   FROM tbl1 PARTITION ('||products_tab(i).partition_name||)';
   COMMIT;

END LOOP;

Saya tidak tahu persyaratan Anda, tetapi mungkin Bertukar Partisi dan Subpartisi bisa menjadi pilihan untuk Anda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menggabungkan 5 gaji teratas dan 5 terbawah untuk ditampilkan di Oracle?

  2. GABUNGAN Eksplisit vs Gabungan implisit?

  3. bagaimana cara mengulang menerima input pengguna dengan pl/sql?

  4. Alternatif dari sys_refcursor

  5. Bagaimana Mengenkripsi Kata Sandi di Oracle?