title: INSERT INTO temporary table from sp_executsql
body: <p>Generally, I am bulding dynamic SQL statement that is executing using sp_executsql like this:</p>
  
  <pre><code>EXEC sp_executesql @TempSQLStatement 
  </code></pre>
  
  <p>I need to insert the return result row set in something (table variable or temporary table), but I am getting the following error:</p>
  
  <pre><code>Msg 208, Level 16, State 0, Line 1746
  Invalid object name '#TempTable'.
  </code></pre>
  
  <p>after executing this:</p>
  
  <pre><code>INSERT INTO #TempTable
  EXEC sp_executesql @TempSQLStatement 
  </code></pre>
  
  <p>From what I have read, I believe the issue is caused because I am not specifying the columns of the temporary table, but I am not able to do this because the return columns count varies.</p>
  
  <p>I have read that I can use global temporary tables, but I have done this before and wonder is there an other way to do that.</p>