2013-10-21 19 views
0

當我使用SQL Server 2008這樣的說法:如何探險臨時表中的內容時,程序調試

--INSERT INTO #tmp_file EXEC ('restore_database_proc N''' + @database_bak_path + '''') 
    INSERT INTO #tmp_file EXEC ('RESTORE FILELISTONLY FROM DISK = N''' + @database_bak_path + '''') 
    set @database_mdf_oldname = (select LogicalName from #tmp_file where Type = 'D') 
    set @database_log_oldname = (select LogicalName from #tmp_file where Type = 'L') 

的varible @database_mdf_oldname@database_log_oldname有當我調試的程序沒有價值,所以我要檢查臨時表有價值,爲什麼結果沒有給變量?

+0

你使用SQL Server或MySQL? –

+0

SQL Server 2008有什麼解決方案? – Dolphin

回答

0

您可以添加一個select語句select * from #tmp_file和SQL服務器它可以顯示臨時表導致這樣的:

INSERT INTO #tmp_file EXEC ('RESTORE FILELISTONLY FROM DISK = N''' + @database_bak_path + '''') 
    select * from #tmp_file--this can be diaplay on debugging result 
    set @database_mdf_oldname = (select LogicalName from #tmp_file where Type = 'D') 
    set @database_log_oldname = (select LogicalName from #tmp_file where Type = 'L')