2

別の #temp テーブルから #temp テーブルを作成しようとすると、エラーが発生します。

 Set @Query = 'Select Work_Order_No,ServiceCode,StageNo,ItemWeight,StagePercentage,FebLocation 
    INTO #TempMaster
    FROM #Temp '
EXEC(@Query)

上記のクエリはエラーをスローします

Invalid object name '#TempMaster'.

このクエリを実行すると

Set   @Query = 'Select Work_Order_No,ServiceCode,StageNo,ItemWeight,StagePercentage,FebLocation 
    INTO ##TempMaster
    FROM #Temp '

EXEC(@Query)

その後、正常に動作しています。これら2つのステートメントの違いは何ですか。最初のクエリがエラーをスローし、2 番目のクエリが正常に実行される理由は何ですか。

4

4 に答える 4

1

これを試してみてください -

DECLARE @SQL NVARCHAR(MAX)

SELECT @SQL = '
IF OBJECT_ID (N''tempdb.dbo.##TempMaster'') IS NOT NULL
   DROP TABLE ##TempMaster

SELECT Work_Order_No,ServiceCode,StageNo,ItemWeight,StagePercentage,FebLocation 
INTO ##TempMaster
FROM #Temp'

EXEC sys.sp_executesql @SQL
于 2013-06-03T09:24:12.900 に答える