sql >> データベース >  >> RDS >> Oracle

selectステートメントのパラメーターとしてパーティション名を使用するにはどうすればよいですか?

    私のコメントですでに述べたように、私はPARALLEL 意味がありません(ただし、それについてはよくわかりません)。テーブル全体をコピーする場合は、各パーティションを1つずつ実行しても意味がありません。

    とにかく、次のように書くと、コードは機能するはずです:

    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;
    

    要件はわかりませんが、パーティションとサブパーティションの交換 あなたのためのオプションかもしれません。




    1. MySQLからNoSQLへの移行の例?

    2. SQL Server:sysテーブルではなくinformation_schemaテーブルを使用する必要がありますか?

    3. ActiveRecordとRailsを使用してpostgresqlデータベースにデータを挿入すると、次のエラーが発生します:RuntimeError:ERROR C22003 Minteger o

    4. MySQLデータベースで無限スクロールを使用する