title: FORALL SELECT getting NO DATA FOUND
body: <p>Similar to a question posted (<a href="https://stackoverflow.com/questions/35530659/pl-sql-no-data-found-error-on-forall-loop">PL/SQL No Data found error on forall loop</a>),
  I recently just found out that i can use <code>FORALL</code> with <code>SELECT</code>. so i tried the below code in a PL/SQL block:</p>
  
  <pre><code>FORALL i in p_eit_hdr_rec.first..p_eit_hdr_rec.last
  select  count(*)
  into    l_exists
  from    TABLE_X x1
      ,   TABLE_Y x2
      ,   TABLE_Z x3
  where   x2.batch_name = p_eit_hdr_rec(i).batch_name
  and     x1.person_id  = x2.person_id
  and     x2.status     = 'New'
  and     x3.information_type = x1.information_type
  and     x3.EIT_INT_HDR_ID   = x2.EIT_INT_HDR_ID;
  </code></pre>
  
  <p>Where <code>p_eit_hdr_rec</code> is an Associative Array, <code>p_eit_hdr_rec(i).batch_name</code> contains the string 'hire_20170711_200005.csv' and <code>l_exists</code> is a NUMBER variable defaulted to <code>0</code>.
  I get the <code>NO_DATA_FOUND</code> exception even if i confirmed that there is data being fetched when i query it as a normal SQL:</p>
  
  <pre><code>select  count(*)
  into    l_exists
  from    TABLE_X x1
      ,   TABLE_Y x2
      ,   TABLE_Z x3
  where   x2.batch_name = 'hire_20170711_200005.csv'
  and     x1.person_id  = x2.person_id
  and     x2.status     = 'New'
  and     x3.information_type = x1.information_type
  and     x3.EIT_INT_HDR_ID   = x2.EIT_INT_HDR_ID;
  
  COUNT(*)
  --------
  2
  </code></pre>
  
  <p>Why am i Gettting the Exception? Is <code>FORALL SELECT</code> a valid syntax but not valid for checking data?</p>