Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2010, 16:54
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: Dudas stored procedures

1) Un stored procedure no es exactamente una consulta almacenada que se ejecuta en el servidor, eso sería una VIEW. Un SP es un script que puede contener una o más sentencias, controladores de flujo, derivadores, iteradores, handlers de eventos y llamadas a otras funciones o SP, todo lo cual realiza una tarea o conjunto de tareas que se han programado como un todo único (atómico).
El objetivo y principal uso de los SP es la realización de tareas estandarizadas que requieren una rutina preestablecida de pasos.

2) Los SP residen como scripts en una base de datos, independientemente de si esta está o no en web. Pero corren en el ambiente de trabajo del motor de la base de datos, y dentro de sus recursos. Este hecho hace que sólo hay dos momentos en que el SP tiene relación con la aplicación que lo invoca: Cuando el DBMS recibe la petición, y cuando emite el resultado final, si lo tiene. Mientras, todas las operaciones definidas en él son independientes de la voluntad y acción del usuario.

3) MySQL soporta los SP, SF y TRIGGERS desde la versión 5.0.

4) Para ejecutar los SP desde PHP se los debe invocar con su sentencia específica ("CALL nombredelSP"), desde cualquier mysql_query usable. Simplemente creas la sentencia como creas un SELECT, conservando las reglas de sintaxis que corresponden a un SP.

5) Ya te lo respondí en el punto 1.

6) Ambos, tanto el SP como las VIEW son estáticas. Lo que son dinámicos son los parámetros que uno u otro puedan recibir. En ese sentido, una VIEW es una tabla virtual, por lo que no sólo es posible invocarla con un "SELECT * FROM ...". Si parametrizas el SELECT, actúa de la forma que desees, en tanto respetes su tabla resultado.
a una VIEW, incluso, puedes invocarla como parte de un INNER JOIN de otra consulta, cosa que no puedes hacer con un SP...

Para ver mejor el detalle, es mejor (como siempre) acudir al manual de referencia: Capítulo 19. Procedimientos almacenados y funciones
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)