SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL ServerのGOTOステートメントとは?基本構文と使い方を解説

GOTOコマンドはシンプルなジャンプ命令で、同一バッチ(関数)内に定義されたラベル位置へ無条件に処理を移すことができるステートメントです。本記事では、SQL ServerにおけるGOTOステートメントの基本的な使い方を詳しく解説します。

構文

SQL ServerのGOTOステートメントは、「GOTOコマンド」と「ラベル」の2つの要素で構成されています。構文は以下の通りです。

GOTOコマンド

GOTOキーワードの後に、ジャンプ先となるラベル名を指定します。

GOTO label_name;

ラベル

ラベル名と、その直後に実行したいステートメントを記述します。

label_name:
{ 実行するステートメント }

注意点:

  1. label_nameは、バッチ(関数)のスコープ内で一意である必要があります。
  2. ラベルを宣言した後には、少なくとも1つの実行ステートメントが続く必要があります。

使用例

DECLARE @Number INT = 1;
DECLARE @Total INT = 0;

WHILE @Number <= 10
BEGIN
    IF @Number = 5
        GOTO quantrimang;
    ELSE
        SET @Total = @Total + @Number;
    SET @Number = @Number + 1;
END;

quantrimang:
PRINT @Total;

GO

この例では、quantrimangという名前のラベルを作成しています。変数@Numberが5に達すると、GOTOによってプログラムの流れがquantrimangラベルの位置へジャンプし、その直後に続くPRINT @Totalが実行されます。

このようにGOTOを使うことで、ループ処理の途中で特定の条件を満たした時点で残りの繰り返しを中断し、指定した位置から処理を再開できます。ただし、多用するとコードの流れが追いにくくなり可読性が低下するため、必要最小限の使用にとどめるのが一般的です。

関連記事

  • SQL ServerのIF...ELSEステートメント
  • SQL ServerのWHILEループ
  • SQL ServerのBREAK(制御中断)コマンド
  1. SQL ServerのSELECT文の使い方を徹底解説!基本構文と実践例まとめ

    このチュートリアルでは、SQL Server(T-SQL)におけるSELECT文の使い方を、構文と具体的なサンプルコードとともにわかりやすく解説します。 SELECTは、SQL Serverデータベース内の1つまたは複数のテーブルからデータを取得するために使用される、最も基本的かつ重要なコマンドです。 SELECT文の基本構文 最もシンプルな形式では、SELECT文の構文は以下の通りです。 SELECT 式 FROM テーブル [WHERE 条件]; 一方、すべての機能を含んだ完全な形式のSELECT文は次のように記述します。 SELECT [ALL | DISTINCT] [TOP (先頭

  2. MS SQL Serverとは?特徴・主な用途・バージョン履歴・インスタンスの基インスタンスの基礎を徹底解説

    SQL Server(MS SQL Server)とは? SQL Serverは、Microsoftが開発したリレーショナルデータベース管理システム(RDBMS)です。従来のRDBMSの枠組みにとどまらず、オブジェクト指向の概念も取り入れたORDBMS(オブジェクトリレーショナルデータベース管理システム)としての側面も併せ持っています。主な特徴は以下の通りです。 Microsoftが開発したRDBMSベースのデータベースソフトウェアである ORDBMS(オブジェクトリレーショナルデータベース管理システム)としても機能する 特定のプラットフォームに依存しない独立した環境で動作する コマンドライ