title: PL/SQL: Best practice for fetching 2 or more joined tables from a cursor?
body: <p>I've heard that it's a good practice to define your records in PL/SQL by using the %ROWTYPE attribute. This saves typing and allows your package to continue functioning even when a column is added or deleted. (Correct me if I'm wrong!)</p>
  
  <p>However, when I am fetching from a cursor that involves a join, I find that I have to fetch into a programmer-defined record that includes a (quite-possibly long) hand-written list of every column returned by the join.</p>
  
  <p>So my question is:
  Is it possible to fetch into nested records, or fetch into a list of records, or do <em>something</em> to avoid such an ugly kludge? Everything I've tried leads to an error about the record not matching what's being returned by the cursor.</p>
  
  <p>Returning the result of a join using a cursor seems like such a common use-case to me that it's strange that nothing related to this comes up in a search.</p>
  
  <p>Thank you.</p>