Sql 调试过程时如何管理资源管理器临时表内容

Sql 调试过程时如何管理资源管理器临时表内容,sql,sql-server,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 = (

在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\u mdf\u oldname
@database\u log\u oldname
没有值,因此,我想检查temp表是否有值,以及为什么结果没有给出变量?

您可以添加select语句
select*from#tmp_文件
,在sql server上,它可以显示temp表结果,如下所示:

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

您使用的是SQL Server还是MySQL?SQL Server 2008,有什么解决方案吗?