sql >> Databáze >  >> RDS >> Oracle

Jak vybrat 200 záznamů pro každou iteraci „smyčky for“ v oracle?

Jak je uvedeno v mých komentářích, můžete použít BULK shromáždit a LIMIT možnost dosáhnout vašeho požadavku. Viz níže ukázka. Zde se pokaždé spustí smyčka a vybere se 200 evidence.

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. Jak skrýt dekoraci sady výsledků ve výstupu Psql

  2. Lazarus Free Pascal / Delphi - RunError 211

  3. Parametrizovaný dotaz pro MySQL s C#

  4. Výběr více sloupců/polí v poddotazu MySQL