Đối với tôi bài tập với biểu thức CASE hơi khó hiểu (khó đọc) nên tôi sẽ sử dụng CASE mệnh đề với INTO @var thay vào đó:
BEGIN
CASE
WHEN vtable = 'daily_operation' THEN
SELECT start_time INTO @result FROM daily_operation WHERE (client_id = vclient_id AND user_id = vuser_id AND id = vid AND edition_id = vedition_id) LIMIT 1;
WHEN vtable = 'monthly_operation' THEN
SELECT start_time INTO @result FROM monthly_operation WHERE (client_id = vclient_id AND user_id = vuser_id AND id = vid AND edition_id = vedition_id) LIMIT 1;
END CASE;
RETURN @result;
END
Lưu ý, bạn không cần phải DECLARE @session_variables được sử dụng trong SP.