title: BULK COLLECT INTO multiple collections
body: <p>I wonder if using <code>BULK COLLECT INTO</code> multiple collections guarantees that corresponding columns in row will have the same index in nested table.</p>
  
  <p>Example:</p>
  
  <pre><code>CREATE TABLE tx AS
  SELECT CAST(level AS INT) AS col1, level || 'a' AS col2, level || 'b' as col3
  FROM dual
  CONNECT BY level &lt;= 100000;
  </code></pre>
  
  <p>Data:</p>
  
  <pre><code>col1    col2   col3
  1       1a     1b
  2       2a     2b
  3       3a     3b
  4       4a     4b
  5       5a     5b
  ...     ...    ...
  </code></pre>
  
  <p>And code:</p>
  
  <pre><code>DECLARE
     CURSOR cur IS SELECT /*+parallel(4)*/col1, col2, col3 FROM tx;
  
     TYPE t1 IS TABLE of INT;
     TYPE t2 IS TABLE of VARCHAR2(20);
  
     vt1 t1;
     vt2 t2;
     vt3 t2;
  BEGIN
     OPEN cur;
     FETCH cur BULK COLLECT INTO vt1, vt2, vt3 LIMIT 1000;
  
     LOOP
        FOR i IN 1..vt1.COUNT LOOP
           DBMS_OUTPUT.put_line('i =&gt; '|| i || ' vt1 =&gt; ' || vt1(i) 
                                || ' vt2 =&gt; '|| vt2(i) || ' vt3 =&gt;' || vt3(i));
        END LOOP;
  
        EXIT WHEN cur%NOTFOUND;
        FETCH cur BULK COLLECT INTO vt1, vt2, vt3 LIMIT 1000;    
     END LOOP;   
     CLOSE cur;
  END;
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>i =&gt; 1 vt1 =&gt; 22418 vt2 =&gt; 22418a vt3 =&gt;22418b
  i =&gt; 2 vt1 =&gt; 22419 vt2 =&gt; 22419a vt3 =&gt;22419b
  i =&gt; 3 vt1 =&gt; 22420 vt2 =&gt; 22420a vt3 =&gt;22420b
  i =&gt; 4 vt1 =&gt; 22421 vt2 =&gt; 22421a vt3 =&gt;22421b
  i =&gt; 5 vt1 =&gt; 22422 vt2 =&gt; 22422a vt3 =&gt;22422b
  i =&gt; 6 vt1 =&gt; 22423 vt2 =&gt; 22423a vt3 =&gt;22423b
  </code></pre>
  
  <p>So in every row there is always the same prefix. Or maybe in some circumstances it is possible to get something like:</p>
  
  <pre><code>i =&gt; 1 vt1=&gt; 100 vt2=&gt;200a vt3=&gt;300b
  </code></pre>
  
  <hr>
  
  <p>Remarks: I am aware that I could define record type and use just one collection. </p>
  
  <p>Looking for an answer drawing from  official sources.</p>