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

PLSQL:最適なパフォーマンスのためのストアド プロシージャの代替手段

    Oracle では、通常、このような目的でグローバル一時テーブルを使用する必要はありません。代わりに、配列で一括処理を使用できます。

    declare
       cursor c is
          select col1, col2 from my_view;
       type t is table of c%rowtype;
       array t;
    begin
       open c;
    
       loop
          fetch c bulk collect into array limit 1000;
          exit when array.count = 0;
    
          for i in 1..array.count loop
             null; -- Perform business logic on array(i) here
          end loop;
    
          forall i in 1..array.count
             insert into final_table (col1, col2)
                values (array(i).col1, array(i).col2);
    
       end loop;
    
       close c;
    end;
    

    これはほんの一例です。この記事を参照してください。 詳細については




    1. Oracle PLSQLで数値の小数点以下の桁数を最小に拡張するにはどうすればよいですか?

    2. SQLクライアントを介してテーブルに挿入されたレコードがjdbcプログラムで使用されたときに表示されない

    3. VARCHAR2(10 CHAR)とNVARCHAR2(10)の違い

    4. LaravelSum列データベースEloquent