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

ストアドプロシージャでMySQLハンドラーを作成するにはどうすればよいですか?


MySQLストアドプロシージャで例外が発生した場合は常に、適切なエラーメッセージをスローして処理することが非常に重要です。例外を処理しない場合、ストアドプロシージャ内の特定の例外でアプリケーションが失敗する可能性があるとします。 MySQLは、ストアドプロシージャの例外を処理するためのハンドラーを提供します。以下は、ストアドプロシージャで使用できる4種類のMySQLハンドラーです-

SQLEXCEPTIONSELECTのCONTINUEHANDLERを宣言します'エラーが発生しました';

上記のハンドラーはエラーメッセージをスローし、実行を続行します。

SQLEXCEPTIONSETの続行ハンドラーを宣言しますgot_error=1;

上記のハンドラーは変数got_errorを1に設定し、実行を続行します。

SQLEXCEPTIONSETの終了ハンドラーを宣言しますgot_error=1;

上記のハンドラーは変数got_errorを1に設定し、実行を終了します。

SQLSTATE '23000' SET got_error=1の終了ハンドラーを宣言します;

上記のハンドラーは、デフォルトのMySQLエラーメッセージをスローし、変数got_errorを1に設定して実行を終了します。


  1. MySQLストアドプロシージャでFORLOOPを使用するにはどうすればよいですか?

    以下は、MySQLストアドプロシージャでFORLOOPを操作するための構文です- delimiter // CREATE procedure yourProcedureName() wholeblock:BEGIN DECLARE anyVariableName1 INT ; Declare anyVariableName3 int; DECLARE anyVariableName2 VARCHAR(255); SET anyVariableName1 =1 ; SET anyVariableName3 =10; SET anyVariableName2 =

  2. MySQLストアドプロシージャで条件を設定する

    ストアドプロシージャに条件を設定するには、MySQLでIF...ELSEを使用します。以下は、if-else-の構文です。 IF yourCondition then       yourStatement1,  ELSE           yourStatement2,  END IF; 上記の構文をストアドプロシージャに実装しましょう- mysql> DELIMITER // mysql> CREATE PROCEDURE IF_ELSE_DEMO(IN value int)