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

Colocar un producto y que se reste del almacen

Estas en el tema de Colocar un producto y que se reste del almacen en el foro de Mysql en Foros del Web. Hola, soy nuevo en lo que es base de datos, sinceramente hace poco descubri de esto en MYSQL y como que me llamo la atencion, ...
  #1 (permalink)  
Antiguo 11/10/2011, 21:40
Avatar de jrevilla  
Fecha de Ingreso: septiembre-2011
Ubicación: Lima, Peru, Peru
Mensajes: 51
Antigüedad: 12 años, 6 meses
Puntos: 2
Pregunta Colocar un producto y que se reste del almacen

Hola, soy nuevo en lo que es base de datos, sinceramente hace poco descubri de esto en MYSQL y como que me llamo la atencion, estoy haciendo un ejemplo para ver que tan divertido puede ser, pero lamentablemente me he trancado en una parte, miren yo tengo 3 tablas, una que es PRODUCTO, BOLETA_VENTA y DETALLE_VENTA ... y eso es asi:
Código MySQL:
Ver original
  1. CREATE TABLE PRODUCTO (
  2.   idProducto CHAR(8) NOT NULL,
  3.   Nombre VARCHAR(20) NULL,
  4.   Marca VARCHAR(20) NULL,
  5.   Cantidad INTEGER UNSIGNED NULL,
  6.   Precio DECIMAL(4,2) NULL,
  7.   PRIMARY KEY(idProducto)
  8. );
Código MySQL:
Ver original
  1. CREATE TABLE BOLETA_VENTA (
  2.   idBOLETA_VENTA CHAR(11) NOT NULL,
  3.   TRABAJADOR CHAR(9) NOT NULL,
  4.   CLIENTE CHAR(8) NOT NULL,
  5.   Fecha DATETIME NULL,
  6.   Tipo VARCHAR(15) NULL,
  7.   Total DECIMAL(6,2) NULL,
  8.   PRIMARY KEY(idBOLETA_VENTA)
  9. );
Código MySQL:
Ver original
  1. CREATE TABLE DETALLE_VENTA (
  2.   BOLETA_VENTA_idBOLETA_VENTA CHAR(11) NOT NULL,
  3.   CANTIDAD  INT  NOT NULL,
  4.   PRODUCTO_idProducto CHAR(8) NOT NULL
  5. );

bueno ya le puse los FK correspondientes, pero como me da flojera no los escribi alli (disculpen ) ... ahora mi pregunta es.... hay alguna forma de que cuando coloque en DETALLE_VENTA digamos "10 chocolates" que en la tabla PRODUCTO esos 10 chololates se reste automaticamente y si no hubieran 10 chocolates, que salga error, se puede ??... o tienes q hacerlo manualmente con ALTER TABLE???

Última edición por jrevilla; 11/10/2011 a las 21:46
  #2 (permalink)  
Antiguo 16/10/2011, 03:55
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Colocar un producto y que se reste del almacen

Para esto debes utilizar procedimientos almacenados. Como recién estás empezando no creo que puedas implementarlo lo mejor por ahora es que hagas dos selects. Una select para hacer la venta, otra select para actualizar la tabla de stock.
Salu2!
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 16/10/2011, 04:14
Avatar de ayukkonen  
Fecha de Ingreso: octubre-2010
Ubicación: Sevilla
Mensajes: 355
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: Colocar un producto y que se reste del almacen

Yo sinceramente... Sacaría el campo cantidad de la tabla productos. No te conviene tenerlo ahí. Crea una tabla intermedia que contenga la ID del producto y la cantidad.

Cuando se realice un pedido, tienes que actualizar la tabla intermedia que te digo, restando la cantidad de productos que se hayan vendido.

Creo que lo mejor para esto, es realizar un trigger, para que después de realizar la consulta select, se ejecute y actualice la tabla intermedia.

Inténtalo como te digo, verás como te funciona.

Si te lías y no sabes terminarlo, avísame y te ayudo más en profundidad.

Saludos y suerte.
__________________
Facebook | Twitter

Etiquetas: procesar, restar, tabla, almacenar
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 14:16.