... e descobri alguns minutos depois que o problema era apenas (como sempre) um ponto e vírgula ausente.
O
INTO specified more than once erro é gerado a partir do segundo SELECT declaração (quando encontra um segundo INTO ) e não sugere muito sobre onde encontrar o problema; então decidi colocar aqui porque não encontrei nada online sobre esse erro. EDITAR:
basta adicionar o ponto e vírgula ausente no primeiro
SELECT declaração ...
SELECT x INTO a FROM t1 WHERE y = 1; #missing semicolon
IF a > 5 THEN
SELECT m, n INTO b ...;
...