T-SQL - DROP IF EXISTS
先週SQL Server 2016の提供が開始されました。
新機能を調べだしたところですが、まずはとりあえずDROP IF EXISTSを試してみました。
開発中、試行錯誤してたりとかでテーブル構造がなかなか固まらず、テーブルを作っては消してまた作るということを繰り返すことがありました。 私はGUIでテーブルを作らずクエリで作る方で、さらにGUIでテーブルを消すこともめんどくさくて、次のようなクエリをよく書いていました。
-- テーブルが存在していればテーブルを消す if object_id(N't') is not null drop table t; -- テーブルを作る create table t(c int);
このテーブルが存在していれば消すということが、 SQL Server 2016からはすっきり書けるようになりました。それがDROP IF EXISTS。
-- テーブルが存在していればテーブルを消す drop table if exists t;
ぶっちゃけ地味ですがわかりやすいですね。DROP文全般で使えるようですし、ALTER TABLEでカラムを削除するときも使えるみたいです。
参考
- DROP TABLE (Transact-SQL)(日本語版の記述はまだっぽい)
- DROP TABLE (Transact-SQL)(こっちは英語)
- DROP IF EXISTS – new thing in SQL Server 2016 | SQL Server Database Engine Blog
次はJSON関係を試してみようかなーと思います。