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

¿Procedimientos almacenados o funciones?

Estas en el tema de ¿Procedimientos almacenados o funciones? en el foro de Mysql en Foros del Web. Hola, estoy desarrollando un sitio que hace un uso exaustivo de mysql y para mejorar el rendimiento me gustaria aprovechar estas caracteristicas. En Internet he ...
  #1 (permalink)  
Antiguo 02/11/2010, 05:07
 
Fecha de Ingreso: mayo-2009
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta ¿Procedimientos almacenados o funciones?

Hola,

estoy desarrollando un sitio que hace un uso exaustivo de mysql y para mejorar el rendimiento me gustaria aprovechar estas caracteristicas. En Internet he encontrado mucha documentacion sobre como crear y utilizar ambas (procedimientos y funciones) pero lo que no me queda claro es cuando usar unas u otras, y cuales son sus diferencias significativas.

Alguien sabe donde encontrar un texto que lo explique bien o aun mejor, podria explicarlo directamente?

Muchas gracias a todos!
  #2 (permalink)  
Antiguo 02/11/2010, 05:43
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: ¿Procedimientos almacenados o funciones?

Los procedimientos realizan conjuntos de tareas, reciben parámetros, devuelven valores en parámetros y pueden devolver resultados en forma de tablas.
Son útiles si tienes tareas complejas que implican diferentes SELECT, INSERT, DELETE o UPDATE que realizar para obtener uno o más resultados, o bien para regresar uno o más valores en sus parámetros.

Las funciones devuelven un único valor, el cual se expresa en el prototipo de su constructor.
Pueden realizar internamente múltiples procesos, pero no pueden devolver valores en sus parámetros porque los parámetros de las SF son sólo de entrada y no de salida. Además no pueden, bajo ninguna circunstancia, devolver tablas de resultados, y deben contener como última sentencia el RETURN con el valor a devolver.
Son útiles para crear funciones que no están implementadas en MySQL y que por alguna razón son necesarias.
Por ejemplo: Las funciones de análisis espacial implementadas en mysql no contienen la función Distance(g, g), que es necesaria para determinar la longitud de la distancia entre dos puntos geográficos. Para resolver el problema yo cree una función que recibiendo dos pares de coordennadas me devuelve la distancia en Km.
__________________
¿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 02/11/2010, 05:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 12
Antigüedad: 14 años, 10 meses
Puntos: 0
De acuerdo Respuesta: ¿Procedimientos almacenados o funciones?

Muchas gracias gnzsoloyo!

Ahora me queda claro que debo usar procedimientos almacenados puesto que el nucleo de la aplicacion que desarrollo es un buscador de empresas y la idea es crear un procedimiento que haga busquedas por medio de la cadena que el usuario escriba.

Saludos!

Etiquetas: funciones, procedimiento, almacenar
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 15:39.