Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để chọn 200 bản ghi cho mỗi lần lặp 'vòng lặp for' trong oracle?

Như đã đề cập trong phần nhận xét của tôi, bạn có thể sử dụng BULK thu thập và LIMIT tùy chọn để đạt được yêu cầu của bạn. Xem bản demo dưới đây. Tại đây, mỗi lần vòng lặp sẽ chạy và chọn 200 Hồ sơ.

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. Sử dụng ký tự đại diện trong bản cập nhật?

  2. cách tạo một thủ tục được lưu trữ trong oracle chấp nhận mảng tham số

  3. Tạo chỉ mục cho nhóm theo trường?

  4. Thiếu chuỗi trong HSQL để kiểm tra

  5. So sánh các nhà cung cấp Oracle .NET bên thứ 3