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

MySQLでは、エラーを処理しながらハンドラーを宣言するにはどうすればよいですか?


適切なエラーメッセージをスローしてエラーを処理することは非常に重要です。 MySQLは、エラーを処理するためのハンドラーを提供します。次の構文を使用してハンドラーを宣言できます-

ハンドラーの構文
DECLARE handler_action FOR condition_value statement;

上記の構文は、ハンドラーを宣言するためにDECLAREHANDLERステートメントを使用する必要があることを示しています。値がcondition_valueと一致する条件の場合、MySQLはステートメントを実行し、アクションに基づいて現在のコードブロックを続行または終了します。上記の構文の3つの主要なものは次のとおりです-

  • Handler_action は2つのタイプであり、次のいずれかの値を受け入れることができます-

    • 続行 − handler_actionが「CONTINUE」の場合、囲んでいるコードブロックの実行は続行されます。
    • EXIT − handler_actionが「EXIT」の場合、囲んでいるコードブロックの実行は終了します。
  • Condition_value ハンドラーをアクティブ化する特定の条件または条件のクラスを指定します。次のいずれかの値を受け入れることができます-

    • エラーコード −condition_valueはMySQLエラーコードである可能性があります。
    • SQLSTATE −condition_valueはSQLSTATEにすることもできます。
    • SQLWARNING −condition_valueはSQLWARNINGにすることもできます。
    • NOTFOUND −condition_valueはNOTFOUNDにすることもできます。
    • SQLEXCEPTION −condition_valueはSQLEXCEPTIONにすることもできます。
  • ステートメント BEGINキーワードとENDキーワードで囲む単純なステートメントまたは複合ステートメントにすることができます。

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;

上記の例では、ハンドラーは、エラーが発生した場合、got_error変数の値を10に設定し、実行を続行することを意味します。


  1. MySQLで変数を宣言する方法は?

    SELECTおよびSETコマンドを使用して、MySQLで変数を宣言できます。変数を宣言する前に、記号「@」の接頭辞を付ける必要があります 構文は次のとおりです- SELECT @ yourVariableName; 記号「@」は、それがユーザー定義変数であるかどうかを示します。シンボルがない場合、それはローカル変数であることを意味します。 2つの「@@」のプレフィックスはサーバーシステム変数を示します。 ここでは、ユーザー定義変数について学習します。 SETコマンドを使用して、変数に値を設定できます。 構文は次のとおりです- SET @yourVariableName=value;

  2. MySQLは日時変数を宣言する方法は?

    日時変数を宣言するには、SETコマンドを使用してユーザー定義変数を使用する必要があります。構文は次のとおりです- SET @anyVariableName=’yourdatetimeValue’; 上記の構文を理解するために、テーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table datetimeVariables -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(10), -> Arrival