title: How to update cursor records using WHERE CURRENT OF?
body: <p>I'm getting "ORA-01410: Invalid ROWID" exception when executing this block. Any ideas why?</p>
  
  <pre><code>DECLARE
    CURSOR c_orders IS
      SELECT * from orders FOR UPDATE OF no;
    v_order_record c_orders%ROWTYPE;
  BEGIN
    OPEN c_orders; 
    LOOP
      FETCH c_orders INTO v_order_record;
      UPDATE orders SET no = 11 WHERE CURRENT OF c_orders;
      EXIT WHEN c_orders%NOTFOUND; 
    END LOOP;  
    CLOSE c_orders; 
  END; 
  </code></pre>
  
  <p>However, everything works if using FOR IN syntax:</p>
  
  <pre><code>DECLARE
    CURSOR c_orders IS
      SELECT * from orders FOR UPDATE OF no;
  BEGIN
    FOR rec IN c_orders
    LOOP
      UPDATE orders SET no = 11 WHERE CURRENT OF c_orders;
    END LOOP; 
  END; 
  </code></pre>