title: PL/SQL bulk collect into associative array with sparse key
body: <p>I want to execute a SQL query inside PL/SQL and populate the results into an associative array, where one of the columns in the SQL becomes the key in the associative array. For example, say I have a table <code>Person</code> with columns</p>
  
  <pre><code>PERSON_ID   INTEGER      PRIMARY KEY
  PERSON_NAME VARCHAR2(50)
  </code></pre>
  
  <p>...and values like:</p>
  
  <pre><code> PERSON_ID  |  PERSON_NAME
   ------------------------
   6          |  Alice
   15         |  Bob
   1234       |  Carol
  </code></pre>
  
  <p>I want to bulk collect this table into a <code>TABLE OF VARCHAR2(50) INDEX BY INTEGER</code> such that the key <code>6</code> in this associative array has the value <code>Alice</code> and so on. Can this be done in PL/SQL? If so, how?</p>