title: Oracle 11g - Running PL/SQL Cursors
body: <p>I'm trying to run this code on Oracle 11g and it's giving me the error below. I can't seem to get it right.</p>
  
  <pre><code>DECLARE
      CURSOR bookcursor IS
      SELECT btName, BookCopy.Isbn, pubName, dateDestroyed
        FROM booktitle bt
        JOIN publisher p
          ON bt.pubId = p.pubId 
        JOIN bookcopy bc
          ON bt.Isbn = bc.Isbn 
       WHERE datedestroyed IS NULL
      ;
      bookcursorrec bookcursor%ROWTYPE;
  BEGIN
      OPEN bookcursor;
      LOOP
          FETCH bookcursor INTO bookcursorrer;
          EXIT WHEN bookcursor%NOTFOUND;
          dbms_output.put_line( 'ISBN: ' ||bookcursorrec.isbn
                                || ' - Book Name: ' || bookcursorrec.btname
                                || ' - Publisher: ' || bookcursorrec.pubname );
      END LOOP;
      CLOSE bookcursor;
  END;
  
  
  ERROR at line 3:
  ORA-06550: line 3, column 20:
  PL/SQL: ORA-00904: "BOOKCOPY"."ISBN": invalid identifier
  ORA-06550: line 3, column 5:
  PL/SQL: SQL Statement ignored
  ORA-06550: line 2, column 12:
  PLS-00341: declaration of cursor 'BOOKCURSOR' is incomplete or malformed
  ORA-06550: line 11, column 19:
  PL/SQL: Item ignored
  ORA-06550: line 15, column 31:
  PLS-00201: identifier 'BOOKCURSORRER' must be declared
  ORA-06550: line 15, column 9:
  PL/SQL: SQL Statement ignored
  ORA-06550: line 17, column 42:
  PLS-00320: the declaration of the type of this expression is incomplete or
  malformed
  ORA-06550: line 17, column 9:
  PL/SQL: Statement ignored
  </code></pre>
  
  <p>Can you kindly point me to what is wrong? I can't seem to understand to what is wrong</p>
  
  <p>Thanks,
  Brian</p>