1

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 ! なんで?

4

1 に答える 1

3

あなたがしたくない場合でも、あなたは選択が必要です...

SELECT @total;

中身を見たいなら!

于 2012-10-05T22:43:19.687 に答える