分かりやすく、使いやすく。

テーブル作成時にテーブルが存在する場合は事前に削除する方法

スポンサーリンク

テーブルを作成する際に、テーブルが存在するかを確認するには、 OBJECT_ID() を使用します。ちなみに OBJECT_ID() は第一引数に渡されたオブジェクトが存在する場合は、そのオブジェクトの ID を返し、存在しない場合は NULL を返します。

サンプルコードは次の通りです。このコードでは、'TEST.dbo.product'テーブルが存在する場合は事前に DROP した上でテーブルを CREATE します。

tsql(実行可能なサンプルコード)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
--OBJECT_IDがNULLを返す場合は、そのオブジェクトは存在しません。
--第二引数の 'U' はユーザーテーブルを表します。
IF OBJECT_ID('TEST.dbo.product', 'U') IS NOT NULL
BEGIN
    --テーブルが存在する場合は、CREATEする前にDROPします。
    PRINT 'TEST.dbo.productをDROPします。';
    DROP TABLE TEST.dbo.product;
END
 
PRINT 'TEST.dbo.productをCREATEします。';
CREATE TABLE TEST.dbo.product (
  id int,
  name nvarchar(50)
); 
スポンサーリンク
スポンサーリンク