Cita:
Iniciado por Bertitha
Hola amigos del foro,llegando a la conclusion que es mejor hacer el insert,udpate o delete a mano o a patin...bueno como sea, me he tomado el atrevimiento de hacer todo lo que tengo que hacer manualmente solo que como no quiero que se tan asi quiero implementar "Procedimientos almacenados" con php y mysql,pero necesito que me digan si puedo implementarlos o que me orienten porque no se,se me hace mas facil pero no se como ejecutar el procedure en php. O no se puede??? haber esos expertos ayudenmen....
Vamos a aclarar unos detalles:
Los procedimientos almacenados son rutinas secuenciadas de SQL que se crean
en una base de datos y dependen de ella. Se las crea para realizar una serie de tareas como una sola, con control de caminos alternativos y tareas que requieren una secuencia fija de ejecución.
Los SP pueden o no llevar parámetros de entrada, salida o de entrada-salida. Si el SP espera parámetros, debe recibirlos siempre o genera error.
Los SP pueden entregar información en forma de parámetros de salida o como tabla, si su última sentencia es un SELECT, pero a diferencia de una consulta, el la tabla resultado de un SP no se puede recorrer en forma secuencial o directa.
Se invocan por su nombre y cuando no llevan parámetros de entrada o salida, la sentencia de invocación es "CALL nombredelSP;". Si llevan parámetros, deben ir en el mismo orden y ser del mismo tipo esperado:
"CALL procedimientoX(12, 'olvido', @variable);"
Si se quiere cargar un SP se tienen que hacer de dos formas: 1) Interactuar con un front-end para MySQL y programarlo en él (p.e.: phpMyAdmin), 2) Enviarlo a la base como un script cargado completo en una variable, al modo de una sentencia de consulta. La segunda forma es funcional, pero requiere más experiencia.
Mi sugerencia es Googlear un poco para encontrar ejemplos para probar, antes de definir los SP que usarás.
Los SP son una de las formas más potentes de uso de una base, pero requieren experiencia para poder explotarlos bien... y la experiencia se consigue probando.