Share via


流れ制御

Transact-SQL には、Transact-SQL ステートメント、ステートメント ブロック、ユーザー定義関数、およびストアド プロシージャの実行のフローを制御するためのフロー制御言語と呼ばれる特殊なキーワードがあります。

フロー制御言語がなければ、それぞれの Transact-SQL ステートメントは、出てきた順番に 1 つずつ実行されます。フロー制御言語は、プログラミングのような構造を使用して、ステートメントを結び付け、相互に関連付け、相互に依存させることを可能にします。

これらのフロー制御言語は、ある操作を実行するように Transact-SQL に指示する必要があるときに便利です。たとえば、複数の Transact-SQL ステートメントを 1 つの論理ブロックに含めるときは、BEGIN...END というステートメント ペアを使用します。ある条件が満たされた場合 (IF) に特定のステートメントまたはステートメント ブロックを実行する必要があり、その条件が満たされなかった場合 (ELSE) に他のステートメントまたはステートメント ブロックを実行する必要があるときには、IF...ELSE というステートメント ペアを使用します。

フロー制御ステートメントは、複数のバッチ、ユーザー定義関数、またはストアド プロシージャにまたがることはできません。

フロー制御キーワードは次のとおりです。

BEGIN...END

BREAK

GOTO

CONTINUE

IF...ELSE

WHILE

RETURN

WAITFOR

参照

概念

GOTO の使用
WAITFOR の使用
RETURN の使用

その他の技術情報

CONTINUE (Transact-SQL)
DECLARE @local\_variable (Transact-SQL)
ELSE (IF...ELSE) (Transact-SQL)
END (BEGIN...END) (Transact-SQL)
流れ制御言語 (Transact-SQL)
EXECUTE (Transact-SQL)
-- (コメント) (Transact-SQL)
IF...ELSE (Transact-SQL)
/*...*/ (コメント) (Transact-SQL)
PRINT (Transact-SQL)
BEGIN...END (Transact-SQL)
RAISERROR (Transact-SQL)
BREAK (Transact-SQL)
WHILE (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手