日程Fit|「いつ空いてますか?」の往復はもう不要。候補日を選んでURLを送るだけ|登録不要|今すぐ無料で使う →

SQLのTRY-CATCHブロックの基本的な使い方

この記事では、SQLにおけるTRY-CATCHブロックの基本的な使い方について詳しく解説します。SQLの例外処理において非常に重要な概念であるTRY-CATCHを理解し、実践的な使用方法を身につけましょう。

日程Fit。無料・登録不要。「いつ空いてる?」を、ひとつのリンクで。リンクを送って、○△×でかんたん日程調整。無料で日程を作る。
目次

TRY-CATCHブロックとは

TRY-CATCHブロックは、SQLのプログラミングにおいてエラーハンドリングを行うための構文です。TRYブロックには正常に実行したいSQLコードを記述し、CATCHブロックにはエラーが発生した場合の処理を記述します。

基本的な構文

基本的な構文は以下の通りです。

BEGIN TRY
  -- 通常処理
END TRY
BEGIN CATCH
  -- エラー処理
END CATCH

TRY-CATCHブロックの使い方

TRY-CATCHブロックの具体的な使い方を解説します。この部分では、サンプルコードとその解説、そして適用シナリオを用いて説明します。

シンプルな例

最も単純な形でのTRY-CATCHブロックの使用例です。

BEGIN TRY
  SELECT 1/0
END TRY
BEGIN CATCH
  SELECT 'エラーが発生しました'
END CATCH

このコードでは、TRYブロック内で除算エラー(1/0)が発生しますが、CATCHブロックがそのエラーをキャッチし、エラーメッセージを表示します。

エラー情報の取得

エラーが発生した場合に、エラーに関する詳細な情報を取得する方法です。

BEGIN TRY
  SELECT 1/0
END TRY
BEGIN CATCH
  SELECT ERROR_MESSAGE() as 'エラーメッセージ', ERROR_NUMBER() as 'エラー番号'
END CATCH

この例では、CATCHブロック内でSQL Serverの組み込み関数`ERROR_MESSAGE()`と`ERROR_NUMBER()`を使用してエラーに関する詳細情報を取得しています。

エラーメッセージのカスタマイズ

一般的なエラーメッセージではなく、独自のエラーメッセージを表示する方法です。

BEGIN TRY
  SELECT 1/0
END TRY
BEGIN CATCH
  DECLARE @ErrorMessage NVARCHAR(4000)
  SET @ErrorMessage = 'カスタムエラー: ' + ERROR_MESSAGE()
  SELECT @ErrorMessage
END CATCH

この例では、独自のエラーメッセージを生成して表示しています。

まとめ

SQLのTRY-CATCHブロックは、エラーハンドリングにおいて非常に便利な機能です。基本的な使い方から、エラー情報の取得、カスタムエラーメッセージの生成まで、多様なケースでの使用方法を理解することが重要です。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次