21

再実行を計画しているT-SQLスクリプトを作成するときは、一時テーブルを使用して一時データを格納することがよくあります。一時テーブルはその場で作成されるので、(作成する前に)存在する場合にのみそのテーブルを削除できるようにしたいと思います。

使用している方法を投稿しますが、もっと良い方法があるかどうかを確認したいと思います。

4

3 に答える 3

27
IF Object_Id('TempDB..#TempTable') IS NOT NULL
BEGIN
    DROP TABLE #TempTable
END
于 2008-08-05T18:21:38.730 に答える
14

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)
)
于 2008-08-05T18:21:31.537 に答える
0
SELECT name
FROM sysobjects
WHERE type = 'U' AND name = 'TempTable'
于 2008-09-17T20:50:20.867 に答える