Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/11/2010, 05:43
Avatar de gnzsoloyo
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, 5 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)