📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

編集の要約なし
編集の要約なし
2行目: 2行目:
SQL文でIF文を記述すれば、WHERE句の内容を変えて検索できるが、<br>
SQL文でIF文を記述すれば、WHERE句の内容を変えて検索できるが、<br>
条件ごとに同じようなSQL文を複数記述するのは面倒なので、1行で分岐できるSQL文を記載する。<br>
条件ごとに同じようなSQL文を複数記述するのは面倒なので、1行で分岐できるSQL文を記載する。<br>
<br><br>
== 条件分岐を用いてテーブルを削除する ==
* '''SQLServer 2016以降'''
:テーブル名はスキーマ.テーブル名と指定することもできる。
<source lang="sql">
DROP TABLE IF EXISTS [テーブル名]
</source>
<br>
* '''SQL Server 2016以前'''
:DROP TABLE IF EXISTS テーブル名が使用できないので、OBJECT_ID()関数を使用してテーブルの存在の有無を確認する。
:また、テーブル名は[スキーマ名].[テーブル名]と指定することもできる。
<source lang="sql">
IF OBJECT_ID(N'テーブル名', N'U') IS NOT NULL
    BEGIN
    DROP TABLE [テーブル名]
    END
</source>
<br>
:一時テーブルも通常のテーブルと同様で、上記の手順で削除することが出来る。
:ストアドプロシージャとして実行している場合、実行後に一時テーブルが自動で削除されるが(存在の確認は不要)、コメントアウトしても構わない。
:また、コメントアウトしなくても特に問題は無いので、SSMSで操作する可能性がある場合は残しておいても構わない。
<source lang="sql">
IF OBJECT_ID(N'[#テーブル名]', N'U') IS NOT NULL
    BEGIN
    DROP TABLE [#テーブル名]
    CREATE TABLE [#テーブル名](
                              hoge INT,
                              piyo NVARCHAR(20),
                              huga VARBINARY(max))
    END
</source>
<br><br>
<br><br>