sql >> データベース >  >> RDS >> Oracle

Oracleの「forループ」の反復ごとに200レコードを選択するにはどうすればよいですか?

    私のコメントで述べたように、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. OracleSQLのif-elseif-else'条件'

    2. UPPERCASEおよびLOWERCASE関数のMySqlで機能インデックスを作成できますか?

    3. MySQL LOAD_FILE()はnull値をロードします

    4. 列名を小文字に変換するMYSQLスクリプト