我以前用過臨時表沒有任何問題,但今天,他們不適合我。這返回SQL Server中臨時表的問題
。 #MyTemp找不到
從最後一行開始。
scBld.CommandText = "select top 10 * into #MyTemp from elig_feeds";
scBld.ExecuteNonQuery();
scBld.CommandText = "select count(*) from #MyTemp";
int p = (int) scBld.ExecuteScalar();
如果我刪除「#」,它工作正常。
最近唯一改變的就是數據庫的版本兼容性,但我沒有看到這是一個因素。 db是2005開發者版本。
Thx。
臨時表只對創建它的會話(spid)可見。如果連接改變,spid將會改變,你將無法訪問它。查詢完成後,會話被刪除,臨時表也被刪除。另一方面,全局臨時表對於所有會話都是可見的,所以一個會話可以創建它,而另一個可以訪問它。 – brian
這些都是真實的,布萊恩,但是上面的四行按照使用相同的SqlCommand和相同的開放SqlConnection的順序執行。還有另一個開放的SqlConnection。當我改變了操作順序時,我得到了這些測試語句來執行,但是具有更復雜SQL的所需程序代碼仍然沒有執行。 – SeaDrive