SQL Server に一時テーブルが存在するかどうかを確認する最良の方法は何ですか?

StackOverflow https://stackoverflow.com/questions/2649

  •  08-06-2019
  •  | 
  •  

質問

再実行する予定の T-SQL スクリプトを作成するとき、多くの場合、一時テーブルを使用して一時データを保存します。一時テーブルはその場で作成されるため、そのテーブルが存在する場合にのみ (作成前に) 削除できるようにしたいと考えています。

私が使用した方法を投稿しますが、もっと良い方法がないか見てみたいと思います。

役に立ちましたか?

解決

IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END

他のヒント

OBJECT_ID 関数は、指定されたオブジェクト名とタイプの内部オブジェクト ID を返します。「tempdb..#t1」は、tempdb データベース内のテーブル #t1 を参照します。「U」はユーザー定義テーブルを表します。

IF OBJECT_ID('tempdb..#t1', 'U') IS NOT NULL
  DROP TABLE #t1

CREATE TABLE #t1
(
  id INT IDENTITY(1,1),
  msg VARCHAR(255)
)
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top