SQL Server に一時テーブルが存在するかどうかを確認する最良の方法は何ですか?
-
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'
所属していません StackOverflow