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

Crear store procedure en la web

Estas en el tema de Crear store procedure en la web en el foro de Mysql en Foros del Web. Hola a todos: Estoy empezando a utilizar esto de los store procedure y vaya si me ha ayudado bastante a simplificar la vida. La pregunta ...
  #1 (permalink)  
Antiguo 20/11/2012, 11:09
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Crear store procedure en la web

Hola a todos:

Estoy empezando a utilizar esto de los store procedure y vaya si me ha ayudado bastante a simplificar la vida. La pregunta que tengo es sobre como se puede implementar en la web.

En la actualidad he utilizado mysql workbench y los leo utilizando un script en php, digamos que hasta ahí no tengo ningún inconveniente. La duda que tengo es como poder hacerlo en un servidor real al cual no tengo acceso sino como la mayoria de los mortales con PHPMyAdmin. De lo que he leido y he intentado implementar parece ser que no es posible hacerlo con esta herramienta aunque lo he intentado de manera infructuosa.

Existe alguna manera para implementarlo desde la red sin necesidad de instalar mysql work bench? en caso de no ser asi es necesario implementar el store procedure directamente desde PHP?

Gracias de antemano por su colaboración.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 20/11/2012 a las 11:19
  #2 (permalink)  
Antiguo 20/11/2012, 11:26
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: Crear store procedure en la web

Cita:
sino como la mayoria de los mortales con PHPMyAdmin. De lo que he leido y he intentado implementar parece ser que no es posible hacerlo con esta herramienta aunque lo he intentado de manera infructuosa.
Implementar los SP en un server remoto con acceso al phpMyadmin, es tan simple como ejecutar cualquier consulta en la ventana de SQL de ese front-end.
En realidad no es ese el problema.

El problema es que para poder cargar un Sp en un servidor en hosting remoto debes tener permisos de CREATE ROUTINE y de EXECUTE, y muchos servicios de hostin no te suelen dar esos niveles de permiso.
Lo primero que debes comprbar es eso.
Luego, si tienes los permisos adecuados, simplemente pones todo el cuerpo del SP en la ventana de SQL en el phpMyadmin, sin indicar los DELIMITER, pero terminando todo el script con, por ejemplo "$$" (dos signos de pesos), y antes de ejecutar pones los mismos caracteres en el textbox que verás más abajo, donde se indica cuál es el delimitador de sentencias.
hecho eso, lo ejecutas como cualquier sentencia, y si todo estuvo bien no habrá errores.
Un detalle: Todo esto lo puedes encontrar en cualquier manual de phpMyadmin. Te recomiendo que busques uno y lo tengas a mano... Siempre viene bien leer los manuales, como primera medida.
__________________
¿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 20/11/2012, 13:27
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Crear store procedure en la web

Hola, muchas gracias por tu colaboración.

Intentare crear un disparador sencillo en phpmyadmin con tus recomendaciones. No conocia lo del delimitador de sentencias y quizas ese es el problema principal. Intentare adaptarlo con lo que comentaste.

Revisare igual lo de los permisos. Muchas gracias por tu colaboración.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 20/11/2012 a las 13:39
  #4 (permalink)  
Antiguo 20/11/2012, 13:55
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: Crear store procedure en la web

Cuidado con las confusiones.
Tu preguntabas por stored procedures, no por disparadores (triggers). Son cosas distintas para usos distintos.
__________________
¿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 20/11/2012, 14:17
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Crear store procedure en la web

Cita:
Cuidado con las confusiones.
Tu preguntabas por stored procedures, no por disparadores (triggers). Son cosas distintas para usos distintos.
Si, me di cuenta que me habia equivocado y por eso cambie el texto pero acabo de ver que coloque disparadores en lugar de procedimientos (mea culpa). Fue un error grave que se da para confusiones.

Cualquier avance ya lo comentare.

p.s. Bueno pues una vez mas gracias a gnzsoloyo por su colaboración. Me ha sido de mucha utilidad. Efectivamente si lo pude hacer. En este caso fue algo muy sencillo pero lo dejo por si alguien le sirve para hacer pruebas.

Código MySQL:
Ver original
  1. CREATE PROCEDURE mostrar()
  2.  SELECT * FROM empleados;
  3. $$

Y tal como indicaba gnzsoloyo en la parte de Delimitador le coloco $$ (aunque supongo que podra ser cualquier tipo de delimitador que queramos)

Luego hice el llamado a el procedimiento tan sencillo como:

Código MySQL:
Ver original
  1. CALL mostrar

Claro, igual la idea es pulir un poco mas los procedimientos pero para empezar y probarlo con phpmyadmin pues creo que esta bien para empezar.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 20/11/2012 a las 14:33

Etiquetas: php, procedure, sql, store
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 11:29.