【IF EXISTS】テーブルが存在している場合、テーブルを削除する

DROP TABLE IF EXISTS テーブル名」という簡易な記述で、
「テーブルが存在している場合、テーブルを削除する」
ことができます!

この簡易な記述方法は、2016バージョンから提供されました。

2016バージョン以前は、IF文とOBJECT_ID関数を組み合わせて、
同様のことを実現していました。

準備

以下のSQLを実行し、テーブルの作成をします。

CREATE TABLE sampleTable
(
 id CHAR(3) PRIMARY KEY,
)

SELECT * FROM sampleTable

SQL実行


DROP TABLE IF EXISTS sampleTable

結果

 当該テーブルが削除されていることを確認します。


SELECT * FROM sampleTable

 

当該テーブルが存在しない場合は、何も行われずに正常終了します。
※つまりエラーは発生しません。

「DROP PROCEDURE IF EXISTS プロシージャ名」等とすれば、
プロシージャ等でも同様のことができます!

つまり全てのDROP文で、IF EXISTSは使用できます

タイトルとURLをコピーしました