Tienes toda la razón Kinobi, pero permiteme que matize un poco la respuesta ya que el ¿PORQUE? le vendra bien si le ocurre en otra ocasion...
Veras, lo que está sucediendo es que con el * estás sacando todos los registros de la tabla ¿Que ocurre con esto? que mayor (o menor) el numero de campos que estan saliendo de * que el numero de variables en dondese almacenan con INTO... un Ejemplo...
Esto es lo correcto
Select CAMPO1, CAMPO2, CAMPO3 into :v1, :v2, v3;
Esto es lo que sin querer te está sucediendo
Select CAMPO1, CAMPO2, CAMPO3, CAMPO4 into :v1, :v2, :v3;
Un saludo y sigamos todos aprendiendo...