2010-03-16 79 views
1

我目前正在調試Ms SQL函數(SQL 2008)。在調試MS SQL函數時查看臨時表的數據

在這個函數中,我有一個變量聲明是這樣的:

DECLARE @TempTable TABLE (Id INT UNIQUE); 

然後,我插入使用INSERT INTO ... SELECT語句的一些記錄。

調試時,我想看看這個表中的記錄。

有沒有辦法做到這一點?

感謝

+0

好像的 重複http://stackoverflow.com/questions/1900857/how在調試時在-t-sql中查看錶值變量 – zarzych 2013-05-03 07:45:05

回答

0

一個可能的解決方案,這可能不是最好的,就是:

  • 創建一個永久性的表是一樣的臨時表
  • 修改的功能,使其將臨時表中的數據轉儲到永久表中臨時表中包含您感興趣的數據的位置

當函數結束,打開新的永久表,並且您將擁有臨時表狀態的副本。

這要求您有權創建新表格並修改該功能。

+0

我很害怕這一點。我真的認爲我可以在調試器中看到表格的內容。我會盡力。 – vIceBerg 2010-03-16 14:58:45

1

我建了a procedure它將顯示來自另一個數據庫連接的臨時表的內容。 (這對普通查詢是不可能的)。 請注意,它使用DBCC PAGE &默認跟蹤來訪問數據,所以只用於調試目的。

你可以把你的代碼中設置斷點,打開第二個連接,並要求使用它:

exec sp_select 'tempdb..#mytable'