Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/06/2013, 09:13
Avatar de tanliz
tanliz
 
Fecha de Ingreso: abril-2013
Ubicación: Irapuato
Mensajes: 63
Antigüedad: 11 años
Puntos: 1
Pregunta Problema con numeros negativos

Buen día chic@s!!!....
Les comento mi problema, tengo dos tablas:

1.Detalle_Salidas
-Salida_Id VARCHAR(5)
-Producto_Id VARCHAR(5)
-Descripcion VARCHAR(50)
-Cantidad INT(5)
-Usuario_Creo DATETIME
-Fecha_Creo DATETIME
...

2.Catalogo_Productos
-Catalogo_Producto_Id VARCHAR(5)
-Descripcion VARCHAR(50)
-Modelo VARCHAR(20)
-Serie VARCHAR(20)
-Precio_Compra DECIMAL(10,2)
-Precio_Venta DECIMAL(10,2)
-Unidad VARCHAR(20)
-Existencia INT(5)
-Usuario_Creo
-Fecha_Creo
...

Manejo un procEdimiento que me va insertando en detalle de salidas
y un disparador que me debe actualizar la existencia en CATALOGO_PRODUCTOS cuando se realiza un insert en DETALLE_SALIDAS, y es aqui donde surge mi problema.
Que en lugar de actualizar la existencia a nÚmeros negativos me ingresa el numero mayor del rango de datos de tipo INT (2147483647).
Ahora, cuando realizado un UPDATE directo a la tabla PRODUCTOS, en my query del SQLyog, por ejemplo:

Código MySQL:
Ver original
  1. UPDATE catalogo_productos
  2. SET Existencia=Existencia-1
  3. WHERE catalogo_producto_id='00003'

si me registra números negativos en la existencia, el problema es cuando manda a llamar el disparador.

Este es el codigo de mi disparador:

Código MySQL:
Ver original
  1. UPDATE catalogo_productos
  2.         SET Existencia=Existencia - new.Cantidad,
  3.         Usuario_Modifico=new.Usuario_Creo,
  4.         Fecha_Modifico=new.Fecha_Creo
  5.         WHERE Catalogo_Producto_Id=new.Catalogo_Producto_Id;

Por qué pasa esto?, espero haberme explicado y que me puedan ayudar, Gracias de antemano...