テーブルまたは変数に挿入しない各SELECTステートメントは、結果セットを生成します。
ストアドプロシージャが1つの結果セットのみを返すようにする場合は、SELECTステートメントが1つだけであることを確認してください。他のSELECTステートメントがある場合は、それらが結果をテーブルまたは変数に挿入することを確認してください。
更新
ストアドプロシージャの例を次に示します。
このストアドプロシージャは、1つの結果セットを返します。
DELIMITER ;;
CREATE DEFINER=CURRENT_USER PROCEDURE stored_procedure_name()
BEGIN
DECLARE local_variable_name INT;
SELECT column_name FROM table_1 LIMIT 1 INTO local_variable_name;
SELECT * FROM table_1;
END;;
DELIMITER ;
このストアドプロシージャは、2つの結果セットを返します。
DELIMITER ;;
CREATE DEFINER=CURRENT_USER PROCEDURE stored_procedure_name()
BEGIN
DECLARE local_variable_name INT;
SELECT column_name FROM table_1 LIMIT 1 INTO local_variable_name;
SELECT * FROM table_1;
SELECT * FROM table_2;
END;;
DELIMITER ;