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

Tabla de control de registros

Estas en el tema de Tabla de control de registros en el foro de Mysql en Foros del Web. Buenos días compañeros vengo a ustedes para que me puedan ayudar, ya que poseo poca experiencia en mysql. Bueno iré al grano, tengo una tabla ...
  #1 (permalink)  
Antiguo 03/07/2014, 11:11
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 4 meses
Puntos: 4
Tabla de control de registros

Buenos días compañeros vengo a ustedes para que me puedan ayudar, ya que poseo poca experiencia en mysql. Bueno iré al grano, tengo una tabla en la que se registran movimientos díarios de un almacen EJ
Código MySQL:
Ver original
  1. TABLA CONTROL
  2.  
  3. ID | IDMOV |   FECHA    | IDPROD | CANT | COST_U | P_VENTA | S_AN | S_AC
  4. 1  |    1  | 01/07/2014 |  145   |  100 | 80.45  |         |    0 |  100
  5. 2  |    2  | 02/07/2014 |  145   |   50 | 80.15  |         |  100 |  150
  6. 3  |    3  | 03/07/2014 |  145   |   25 |        |   98.50 |  150 |  125
  7.  
  8. IDMOV
  9. 1=ENTRADA
  10. 2=COMPRA
  11. 3=VENTA

Lo que necesito es en teoría "simple" para alguien que domina mysql porque lo que necesito es que cuandro cree un ingreso en mi tabla de ingresos EJ

Código MySQL:
Ver original
  1. TABLA ENTRADAS
  2.  
  3. IDE |     FECHA     | IDPROD | CANT | COST_U
  4. 1    | 01/07/2014 |  145      | 100   | 80.45
  5.  
  6. TABLA COMPRAS
  7.  
  8. IDC |     FECHA     | IDPROD | CANT | COST_U
  9. 1    | 02/07/2014 |  145      | 50   | 80.15
Estos datos se ingresen automaticamente a mi tabla control pero que antes de hacerlo primero verifique si es una entrada coloque IDMOV=1, que coloque la FECHA, IDPROD, cantidad en CANT(cantidad ingresada), el costo en COST_U(costo unitario), que se copie el ultimo S_AC a S_AN y que a este se le sume el S_AN(saldo anterior) con CAT(cantidad ingresada) para generar S_AC(saldo actual), lo mismo sería para compras la diferencia es que en IDMOV sería =2
Código MySQL:
Ver original
  1. TABLA VENTAS
  2.  
  3. IDV |     FECHA     | IDPROD | CANT | P_VENTA
  4. 1    | 03/07/2014 |  145      | 25   | 98.50
siempre en la misma tabla de control cuando se realice una venta me ingrese los datos de la venta lo unico es que IDMOV sería =3, que copie el ultimo (del IDPROD) S_AC(saldo actual) a la celda de S_AN(saldo anterior) y que a este se le reste CANT para generar S_AC(saldo actual).

Esto lo quisiera hacer a traves de triggers, pero como les comenté no tengo mucha experiencia con mysql y quisiera que me pudieran orientar de como proceder

Espero haber explicado bien y que me puedan ayudar.

Última edición por oscurogt; 03/07/2014 a las 11:21
  #2 (permalink)  
Antiguo 07/07/2014, 09:29
 
Fecha de Ingreso: septiembre-2013
Ubicación: Bogota
Mensajes: 139
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Tabla de control de registros

Hola amigo. La verdad no te recomiendo usar triggers para este tipo de procedimientos. Lo puedes programar a codigo tambien pero bueno de todas maneras te dejo el modelo de un trigger para que lo implementes a tu necesidad:

Código MySQL:
Ver original
  1. create trigger nombre_trigger after insert on nombre_tabla for each row begin update nombre_tabla set cod_estado=(cod_estado+1)where
  2. cons_reg=new.cons_reg; end!
  #3 (permalink)  
Antiguo 07/07/2014, 10:59
 
Fecha de Ingreso: agosto-2013
Ubicación: Guatemala
Mensajes: 137
Antigüedad: 11 años, 4 meses
Puntos: 4
Respuesta: Tabla de control de registros

Gracias por tu respuesta y tu recomendación, opté como dijiste por hacerlo via PHP

Cita:
Iniciado por andre___5025 Ver Mensaje
Hola amigo. La verdad no te recomiendo usar triggers para este tipo de procedimientos. Lo puedes programar a codigo tambien pero bueno de todas maneras te dejo el modelo de un trigger para que lo implementes a tu necesidad:

Código MySQL:
Ver original
  1. create trigger nombre_trigger after insert on nombre_tabla for each row begin update nombre_tabla set cod_estado=(cod_estado+1)where
  2. cons_reg=new.cons_reg; end!

Etiquetas: control, diario
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:38.