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

PLSQL:alternatywa dla procedury składowanej dla optymalnej wydajności

W Oracle zwykle nie musisz używać globalnych tabel tymczasowych do tego typu rzeczy, możesz raczej użyć przetwarzania zbiorczego z tablicami:

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;

To tylko minimalny przykład — zobacz ten artykuł po więcej szczegółów.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz datę z roku, miesiąca i dnia

  2. Wykonaj funkcję Oracle, która zwraca kursor referencyjny w C#

  3. Różnica między typem danych liczbowym a całkowitym w widokach słownika Oracle

  4. Problemy z grupowaniem

  5. Jak wstawić znacznik czasu w Oracle w określonym formacie?