why can't I extract this iterator as a variable

So noting this works:

 for row in self:nrows(sql) do   
 for k,v in pairs(row) do  
 print(k .. ", " .. v)  
 end  
 end   

Then what do I get the following error, when I extract the iterator out per the following code:

 myIterator = self:nrows(sql)  
 for row in myIterator do   
 for k,v in pairs(row) do  
 print(k .. ", " .. v)  
 end  
 end   
-- GIVES: bad argument #1 to '(for generator)' (:sqlite3:vm expected, got nil)  
  

[import]uid: 140210 topic_id: 25600 reply_id: 325600[/import]