流れ制御

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