SQL Serverで
・IF文で条件分岐をする方法
を記載します!
SQL ServerのIF文の構文
SQL ServerのIF文の構文
IF 条件1
BEGIN
条件1が一致した場合に実行する処理
・・・
・・・
END
ELSE IF 条件2
BEGIN
条件2が一致した場合に実行する処理
・・・
・・・
END
ELSE
BEGIN
条件が一致しなかった場合に実行する処理
・・・
・・・
END
SQL ServerのIF文の使用例
ここでは例として「サーバー名」を取得して
・「サーバー名」が「SERVER1」の場合、「SERVER1に対して後続の処理を実行します」を出力
・「サーバー名」が「SERVER2」の場合、「SERVER2に対して後続の処理を実行します」を出力
・「サーバー名」が「上記以外」の場合、「処理を中止します」を出力
します。
※今回はサーバー名「DESKTOP-12345」で実行します。よって「処理を中止します」が出力されます。
DECLARE
@serverName VARCHAR(30)
--サーバー名を取得
SET @serverName = (SELECT @@SERVERNAME)
--SERVER1だった場合にのみ後続のSQLを実行
IF @serverName = 'SERVER1'
BEGIN
SELECT 'SERVER1に対して後続の処理を実行します'
END
ELSE IF @serverName = 'SERVER2'
BEGIN
SELECT 'SERVER2に対して後続の処理を実行します'
END
ELSE
BEGIN
SELECT '処理を中止します'
END
上記を実行すると、IF文で条件分岐できたことを確認できます。
参考①
SELECT文の結果によって条件分岐することもできます。
詳細は以下の記事をご確認ください。
参考②
WHILE文による繰り返し処理もできます。
詳細は以下の記事をご確認ください。
参考③
上記に記載した以下の詳細について、公式サイトをご確認ください。
●SQL ServerのIF文
●[BEGIN – END]について