Foros del Web » Programando para Internet » PHP »

Store procedure SI/NO ?

Estas en el tema de Store procedure SI/NO ? en el foro de PHP en Foros del Web. Hola a todos; Os cuento un poco mi proiblema. Tengo una aplicacion en Visual Studio que me hace unas ventas. La aplicacion cuando finaliza una ...
  #1 (permalink)  
Antiguo 31/08/2010, 13:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Store procedure SI/NO ?

Hola a todos;
Os cuento un poco mi proiblema.
Tengo una aplicacion en Visual Studio que me hace unas ventas.
La aplicacion cuando finaliza una venta, envia las ventas en formato POST que recoje una pagina de PHP.
Esta pagina hace 1 INSERT y 1 UPDATE, pero el caso es que me duplica los POST.
Por ejemplo, si envio 1 coca-cola y 1 ginebra, me hace el INSERT y el UPDATE de esos articulos, pero al rato me los vuelve a INSERTAR y ACTUALIZAR, o sea 2 veces. Solo me pasa con los equipos que tengo conexion con WIFI, en cambio si lo tengo por CABLE, o me pasa eso.
Hace 3 semanas, que cambié la forma de insertar y actualizar, ahora se hace mediante el programa, y me lo hace bien.
Ahora tengo el problema que necesito cambiar cosas, por ejemplo que si vendo algo, en vez de hacer el update sobre ese articulo, necesito hacerlo sobre alguno mas, cosa que con la insercion y actualizacion directamente desde el programa, me resulta dificil hacerlo.
Me han dicho que con store procedure, sería la mejor opcion, pero no se como funciona y la informacion que he visto no la entiendo bien.
Mi pregunta es...
Si envio las variables de ventas desde el programa de VISUAL STUDIO, las enviaría a un PHP?
Un saludo y perdon por mi ignorancia
  #2 (permalink)  
Antiguo 31/08/2010, 13:57
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Respuesta: Store procedure SI/NO ?

Si tienes comunicación con el servidor de base de datos desde visual studio no es necesario pasar por php, en ningún caso, ya sea que ejecutes querys contra alguna tabla o que llames a un procedimiento almacenado.
Si ejecutas querys es conveniente que las ejecutes dentro de una transacción, para evitar inconsistencias, así si hay un error en alguna query puedes deshacer todo.
  #3 (permalink)  
Antiguo 31/08/2010, 14:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Store procedure SI/NO ?

Pero me interesa mas hacerlo a traves de un PHP, ya que me es mas facil manipular. Ya que a traves de visual studio tengo que mandarlo a hacer y me tarda unos dias en actualizarlo.
  #4 (permalink)  
Antiguo 31/08/2010, 14:26
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Respuesta: Store procedure SI/NO ?

Entonces solo envía los valores con post y en php los recoges y haces el resto. Sea con querys o ejecutando un procedimiento almacenado.
  #5 (permalink)  
Antiguo 31/08/2010, 14:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: Store procedure SI/NO ?

Eso intento hacer, pero lo que no me queda claro es que es exactamente lo de Store Procedure.
Ademas si lo hago a tarves de PHP recogiendo POST, por alguna razon que no sabemos, los duplica.
Por eso pregunto lo de STORE PROCEDURE
  #6 (permalink)  
Antiguo 31/08/2010, 14:38
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Respuesta: Store procedure SI/NO ?

El stored procedure se crea en la base de datos y tampoco te garantiza que no dupliques registros. Ese control debes implementarlo creando indices únicos en la tabla, para así evitar que se inserten duplicados.
Esta es la forma de crear stored procedures en mysql.

http://dev.mysql.com/doc/refman/5.0/...procedure.html

Esta es la sintaxis para crear indices, entre ellos los unique.

http://dev.mysql.com/doc/refman/5.0/...ate-index.html

Etiquetas: procedure, 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 23:34.