ストアドプロシージャで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に設定して実行を終了します。
-
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 =
-
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)