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

プロシージャをデバッグするときに変数と値がないので、一時テーブルに値があるかどうかを確認したいのですが、結果に変数が含まれていないのはなぜですか @database_mdf_oldname?@database_log_oldname

4

1 に答える 1

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')
于 2013-10-21T03:19:42.713 に答える