Erro de sintaxe Stored Procedure?

Olá. Eu estou tentando criar um Stored Procedure pelo HeidiSql. Está sendo acusado erro de sintaxe na linha 9:


Alguém tem alguma ideia do que eu possa ter feito de errado?

Embora a documentação do mysql diga que tanto = quanto := possam ser utilizadas para atribuição de valores, por que não usar apenas o = ?
Pela mensagem de erro (não contei os parênteses) o problema parece ser o := ou o fato de estar usando o toReturn naquele ponto.

Justamente porque eu estava usando, e pensei que esse fosse o erro, daí eu mudei.

Como assim? Preciso adicionar algum modificador de acesso em toReturn ou algo do tipo?

Não, não.
Apenas me baseei na mensagem de erro, que referia o erro naquela parte do código.

Resolvi usando SET ao invés de :=

BEGIN
DECLARE toReturn DECIMAL(6,2) DEFAULT 0;
DECLARE lucro DECIMAL(6,2) DEFAULT 0;
DECLARE rifa VARCHAR(20);
DECLARE meu_cursor CURSOR FOR SELECT lucro,nome FROM rifas;
OPEN meu_cursor;
loop1: LOOP
	FETCH meu_cursor into lucro, rifa;
	SET toReturn = (toReturn + (lucro * (SELECT COUNT(*) FROM rifas_vendidas WHERE rifa=rifa)));
END LOOP loop1;
RETURN (lucro + (SELECT SUM(ganho) FROM lanches_comprados) - (SELECT SUM(custo) FROM comprado));
END