私は以下のストアドプロシージャを持っています。それは動作していないようです。私が間違っていることは何ですか?mysqlでselectで変数を宣言して使用する
4行目のロールを宣言するとエラーが発生します。
create procedure getRole(in x mediumint unsigned)
begin
DECLARE role INT DEFAULT 3
SELECT user_level INTO role FROM login_users WHERE user_id = x
CASE role
WHEN 1 THEN
WHEN 2 THEN
select
u.user_level As role,
a.id As id,
'advisor' As user
from
login_users u
inner join login_levels l on u.user_level =l.id
inner join rp_adviser a on u.user_id = a.user_id
where
u.user_id = 11;
ELSE
select
u.user_level As role,
s.id As id,
'student' As user
from
login_users u
inner join login_levels l on u.user_level =l.id
inner join rp_student s on u.user_id = s.user_id
where
u.user_id = 9;
END CASE;
end
エラーは? – ajreal