Dúvida com procedures MySQL

Olá,

Estou fazendo uma procedure em mysql e estou com dúvida em relação ao funcionamento do Select… INTO…

Veja minha SQL:

[code] DECLARE v_id_categoria_produto INT(9) DEFAULT NULL;
DECLARE v_id_categoria_produto_pai INT(9) DEFAULT NULL;
DECLARE v_nm_categoria_produto VARCHAR(80) DEFAULT NULL;
DECLARE v_st_ativo CHAR(1) DEFAULT NULL;
DECLARE v_nm_categoria_produto_pai VARCHAR(80) DEFAULT NULL;

SELECT a.id_categoria_produto, a.id_categoria_produto_pai, a.nm_categoria_produto, a.st_ativo,
IF(IFNULL(a.id_categoria_produto_pai, ‘’) != ‘’, (SELECT x.nm_categoria_produto FROM tb_categoria_produto x WHERE x.id_categoria_produto = a.id_categoria_produto_pai), ‘’) AS nm_categoria_produto_pai
INTO v_id_categoria_produto, v_id_categoria_produto_pai, v_nm_categoria_produto, v_st_ativo, v_nm_categoria_produto_pai
FROM tb_categoria_produto a
WHERE a.id_empresa = p_id_empresa
#AND a.nm_categoria_produto LIKE ‘%%’
/* AND CASE WHEN p_id_categoria_produto_pai != 0
THEN
a.id_categoria_produto_pai = p_id_categoria_produto_pai
ELSE
0 = 0
END
AND CASE WHEN p_id_categoria_produto != 0
THEN
a.id_categoria_produto = p_id_categoria_produto
ELSE
0 = 0
END*/
AND a.st_ativo = 'S’
LIMIT 1;[/code]

Se eu comentar a linha do INTO, ele retorna valores, caso contrário não.
Alguém sabe porque?

Eu preciso botar em variaveis porque depois vou usar abaixo disso ai.

Obrigado