Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

[SOLUCIONADO] funcion mysql con campo de retorno

Estas en el tema de funcion mysql con campo de retorno en el foro de Mysql en Foros del Web. Hola amigos escribo porque tengo una duda y no he podido resolverla, resulta que estoy haciendo una funcion en mysql para mi login, pero no ...
  #1 (permalink)  
Antiguo 08/05/2014, 12:40
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
funcion mysql con campo de retorno

Hola amigos escribo porque tengo una duda y no he podido resolverla, resulta que estoy haciendo una funcion en mysql para mi login, pero no he podido hacer que me retorne un campo de la tabla, necesito que me retorne un nombre.. este es el codigo:

Código MySQL:
Ver original
  1. CREATE  FUNCTION `entrar`(usuario varchar(100), pass varchar(100)) RETURNS int(11)
  2.     if exists(select nombre from usuarios where user=usuario and contra=pass)
  3.     then
  4.         RETURN 1;
  5.     else
  6.         RETURN 0;
  7.     end if;


ps aqui esta bien porque segun el caso me retorna 1 o cero pero necesito que me retorne el nombre.. como puedo hacer.. muchas gracias.
  #2 (permalink)  
Antiguo 08/05/2014, 13:30
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: funcion mysql con campo de retorno

Si retorna el numero, no retorna el nombre. Simple como eso...

La función debería devolver, entonces, un VARCHAR, y no un INT. Por definición NO PUEDE devovler datos por parámetro, por lo que si quieres que devuelva los dos, deberás implementar esa lógica dentro de un SP, y no una SF.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/05/2014, 07:46
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: funcion mysql con campo de retorno

jeje muchas gracias por la respuesta finalmente lo pude resolver, pero quisiera preguntar.. aveces las funciones de mysql y los procedimientos nos ahorran hacer lo mismo desde el php.. y ps precisamente hice la funcion para evitar la inyeccion sql ... aveces me gustaria usar todas las consultas con funciones y procedimientos, pero no se cuando es mas conveniente entre usar los SP y las SF y las consultas desde php. osea cuando conviene usar unas y otras??.. muchas gracias por la respuesta.
  #4 (permalink)  
Antiguo 09/05/2014, 08:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: funcion mysql con campo de retorno

Pues es medio de cajón la respuesta...
Un stored procedure en un proceso programado de una o más sentencias de SQL, para resolver consultas simples, o conjuntos de consultas, como una única operación. Un SP puede devolver o no datos-
Un stored funcion es una rutina que puede o no contener consultas a tablas, pero que siempre debe devovler un único valor (en MySQL ese valor NO puede ser una tabla o un registro).

En esencia, cuando tienes una o N operaciones que se pueden ejecutar directamente en la base, evitando interactuar con la aplicación, es conveniente hacerlo en un SP.
pero cuando lo que necesitas es obtener un valor único, que puedes usar luego dentro de una query o desde la aplicación, conviene usar SF.

¿Ejemplos?
- Si quieres obtener una tabla de fechas entre dos días dados, se puede hacer por SP (ejemplo: http://www.forosdelweb.com/f86/faqs-...1/#post3261581).

- Si quieres obtener la distancia en Km entre dos puntos conociendo sus coordenadas geográficas, eso es una SF (ejemplo en este link: http://www.forosdelweb.com/f86/faqs-...1/#post4198983).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 13/05/2014, 08:57
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: funcion mysql con campo de retorno

muchas gracias

Etiquetas: campo, funcion, retorno, select, sql, tabla, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:40.