Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да изберете 200 записа за всяка итерация на „for цикъл“ в oracle?

Както споменах в моите коментари, можете да използвате BULK събиране и LIMIT опция за постигане на вашите изисквания. Вижте демонстрацията по-долу. Тук всеки път цикълът ще се изпълнява и ще избира 200 записи.

DECLARE
   CURSOR rec
   IS
          SELECT LEVEL
            FROM DUAL
      CONNECT BY LEVEL < 401;

   TYPE v_var IS TABLE OF NUMBER
      INDEX BY PLS_INTEGER;

   var   v_var;
BEGIN
   OPEN rec;

   LOOP
      FETCH rec BULK COLLECT INTO var LIMIT 200;

      EXIT WHEN (var.count = 0);

      FOR i IN 1 .. var.COUNT
      LOOP
         DBMS_OUTPUT.put_line (var (i));
      END LOOP;
   END LOOP;

   CLOSE rec;
END;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sqlldr- Не е намерен терминатор след прекратено и оградено поле

  2. ИЗБЕРЕТЕ INTO с помощта на Oracle

  3. Инсталирайте Oracle Database Client стъпка по стъпка

  4. Оракул. Изберете всички, ако параметърът е нула, в противен случай се връща конкретен проблем с елемента

  5. SQL Server и Oracle, кой е по-добър по отношение на скалируемост?