概要:このチュートリアルでは、BEGIN...END
ステートメントを使って一連のTransact-SQLステートメントをステートメントブロックにラップする方法を学習します。
BEGIN…END statement
BEGIN...END
Statementは、ステートメントブロックを定義するときに使用されます。 ステートメントブロックは、一緒に実行される一連のSQLステートメントで構成されています。 ステートメントブロックはバッチとも呼ばれます。
言い換えれば、ステートメントが文であるなら、BEGIN...END
ステートメントでは段落を定義することが可能です。
以下に BEGIN...END
ステートメントの構文を示します。
Code language: SQL (Structured Query Language) (sql)
この構文では、たとえば BEGIN
と END
キーワードの間に一連の SQL ステートメントを配置します。
Code language: SQL (Structured Query Language) (sql)
Output:
PRINT
文によって生成されたメッセージを表示するには、SQL Server Management StudioでMessages
タブをクリックする必要があります。 デフォルトでは、[メッセージ]タブは非表示です。
- この例では、まず、
BEGIN
キーワードで始まり、END
キーワードで終わるブロックがあります。 - 次に、ブロック内に、定価が10万より大きい製品を検索する
SELECT
ステートメントがあります。
なお、@@ROWCOUNT
はシステム変数で、直前のステートメントによって影響を受けた行数を返します。
BEGIN... END
ステートメントは、SQLステートメントの論理ブロックを束ねます。 ストアドプロシージャや関数の最初と最後にBEGIN...END
を使用することがよくあります。 しかし、厳密には必要ありません。
ただし、IF ELSE
文やWHILE
文など、複数の文をラップする必要がある場合はBEGIN...END
が必要です。
入れ子のBEGIN… END
ステートメントブロックは入れ子にすることができます。
次の例を考えてみましょう。
Code language: SQL (Structured Query Language) (sql)
この例では、BEGIN...END
ステートメントを使用して、ステートメント ブロック全体を囲んでいます。 このブロックの内部では、 を IF...ELSE
ステートメントにも使用しました。
このチュートリアルでは、SQL Server BEGIN...END
ステートメントを使用して Transact-SQL ステートメントをブロックにラップすることについて学習しました。