sql >> Database >  >> RDS >> Oracle

Hoe selecteer je 200 records voor elke 'for loop'-iteratie in Oracle?

Zoals vermeld in mijn opmerkingen, kunt u BULK . gebruiken verzamelen en LIMIT optie om uw vereiste te bereiken. Zie onderstaande demo. Hier wordt elke keer de lus uitgevoerd en kiest u 200 verslagen.

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. Informatie over de information_schema database in MySQL

  2. MySQL Sommige buitenlandse sleutels verwijderen

  3. Fix Error Msg 4151 "Het type van het eerste argument voor NULLIF kan niet de NULL-constante zijn omdat het type van het eerste argument bekend moet zijn" in SQL Server

  4. Hoe te controleren of de verbindingsreeks geldig is?