Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/09/2012, 08:48
kies89
 
Fecha de Ingreso: septiembre-2012
Ubicación: Madrid
Mensajes: 89
Antigüedad: 11 años, 7 meses
Puntos: 1
Respuesta: Usando argumento en función MySQL

Cita:
Iniciado por leonardo_josue Ver Mensaje
Leíste lo que te puse en la liga??? porque en ningún lado veo que lo estés utilizando:

Código:
SELECT count(nombre) INTO existe 
FROM usuario 
WHERE nombre = username;
Mucho ojo kies89, no esperes encontrar una solución solo para copiar y pegar... cuando te pongamos alguna Liga y te pidamos que la veas, HAZLO, pero hazlo a conciencia.

Saludos
Leo.





Perdón, es que no entiendo mucho eso de las ligas... Lo googleé en algunas páginas y me vi el insert y pensaba que en la liga que me pasaste también ponía insert. Perdón.

Aquí el código actual, y debajo el error que me da :(.



Código:
delimiter |
create function miweb.edad_numero(username varchar(20)) returns tinyint
begin
  declare existe tinyint;
  declare edad_num tinyint;

  select count(nombre) into existe from usuario where nombre=username;  -- Si el usuario existe en la tabla o no
  
  if existe <> 0 -- Si existe de verdad (si count() no devuelve cero)
    select edad into edad_num from usuario where nombre=username;
  else
    -- La edad por defecto son 18
    set edad_num = 18;
    insert into usuario(nombre, edad) select username, 18 from usuario;
  end if;
  
  return edad_num;
end |





Error:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'select edad into edad_num from usuario where nombre=username;
else

se' at line 9