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 ステートメントを使用する必要があります。

bannerAds