如何在程序调试时浏览临时表内容

时间:2013-10-21 03:05:55

标签: sql sql-server

当我在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')

当我调试过程时,变量@database_mdf_oldname@database_log_oldname没有值,所以我想检查临时表是否有值以及为什么结果没有给出变量?

1 个答案:

答案 0 :(得分:0)

你可以添加一个select语句select * from #tmp_file,在sql server上可以显示临时表结果,如下所示:

    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')