2 つの in パラメータと 1 つの out パラメータを持つプロシージャを作成しました。ただし、出力が出たくない理由はわかりません。select ステートメントを使用したくありません。out パラメータを使用したいと思います。ありがとう。
create procedure quiz_totals(in q1 double unsigned, in q2 double unsigned, out p_total int)
begin
declare v_ceil_q1 int;
declare v_ceil_q2 int;
declare v_max int;
declare v_min int;
set v_ceil_q1 := ceiling(q1);
set v_ceil_q2 := ceiling(q2);
create table temp_tbl(t_scores int);
insert into temp_tbl(t_scores) values(v_ceil_q1), (v_ceil_q2));
select max(t_scores) into v_max from temp_tbl;
select min(t_scores) into v_min from temp_tbl;
set p_total := (v_ceil_q1) + (v_ceil_q2) + v_max - 2*v_min;
drop table temp_tbl;
end;
#
delimiter ;
call quiz_totals(23, 32.4, @total);
これは私の出力です:
Query OK, 0 rows affected (0.02 sec)
いいえ p_total ! なんで?