2016-07-08 3 views
2

一時テーブルが存在する場合は削除しようとしていますが、以下のエラーが表示されます。私は過去のテーブルでこのメソッドを使用しましたが、なぜこのケースでは機能しないのか分かりません。SQL Serverドロップテーブルエラー

SQL

Create table mytable(col_a int) 

insert into mytable 
values(1) 

IF object_id(#temp, 'U') IS NOT NULL 
    drop table #temp 

select * 
into #temp 
from dbo.mytable 

エラー:

Msg 207, Level 16, State 1, Line 8
Invalid column name '#temp'.

+0

に私はあなたが 'temp'テーブルを削除するシナリオは、'あなたの問題はドロップしない私を信じてわかりませんなぜなら、 'sql server'はスコープが終了すると自動的にそれを処理するからです。 –

答えて

3

(こんにちは!)のSQL Server 2016

DROP TABLE IF EXISTS #temp; 
3

その一時テーブルではなく、物理的なテーブル。これを試して。未来からの訪問者のための

Create table mytable(col_a int) 
insert into mytable 
values(1) 

IF OBJECT_ID('tempdb..#temp') IS NOT NULL DROP TABLE #temp 
Select * into #temp from dbo.mytable