次のコードを検討してください。
SET @SQL1 = 'SELECT * INTO #temp WHERE ...'
exec(@SQL1)
SELECT * from #temp (this line throws an error that #temp doesn't exist)
どうやらこれは、execコマンドが別のセッションをスピンオフし、#tempがそのセッションに対してローカルであるためです。グローバル一時テーブル##tempを使用できますが、衝突を回避するための命名スキームを考え出す必要があります。皆さんは何をお勧めしますか?