MySQLストアードプロシージャで戻り値を作成する方法
MySQL ストアドプロシージャで値を返すには、OUT パラメータを使用します。以下に例を示します。
DELIMITER //
CREATE PROCEDURE get_total_count(
OUT total_count INT
)
BEGIN
SELECT COUNT(*) INTO total_count FROM your_table;
END //
DELIMITER ;
上記のサンプルでは、get_total_countというストアドプロシジャーを作成し、その中には返される値を格納するためのOUTパラメータであるtotal_countがあります。ストアドプロシジャー内部のSELECT文は総行数を計算して、その結果をOUTパラメータに代入しています。
このストアドプロシージャを呼び出して戻り値を取得するには、以下の文を使用します。
CALL get_total_count(@total_count);
SELECT @total_count;
上のサンプルではCALL ステートメントを使用してストアド プロシージャを呼び出し、結果の値を @total_count 変数に格納しています。その後、SELECT ステートメントを使用してこの変数の値を確認しています。
保存処理を呼び出す前に、OUT パラメータは宣言する必要があり、保存処理の呼び出しには CALL ステートメントを使用する必要があります。