¿Refrescar el valor de una celda en SQL server?

Tengo las siguientes tablas:
Producto(codigop, descripción, valor, marca, existenicia)
Venta(codigov, fecha, tipo)
ven/pro(codigov,codigop, cantidad)
Lo que quiero hacer es que cada vez que se venda determinado producto la existencia de la tabla productos de le reste la cantidad que se vendió.

1 respuesta

Respuesta
1
Uhmm si quieres que lo reste automáticamente le podrías hacer un trigger para que reste la existencia cada vez que haga el insert de la venta.
Es eso lo que deseas hacer o explicame que es lo que quieres realizar
Gracias por responde, exactamente es eso lo que quiero hacer, apenas estoy aprendiendo sql y no tengo idea de como implementar el trigger que me mencionas, ¿me podrías ayudar?
Ok amigo bueno lo que haríamos es crear el trigger en el administrador corporativo
create Trigger Trigger_actualiza_stock
On ven_pro
After Insert
As
-- Declaramos las variables donde almacenaremos la cantidad y código del producto insertado
Declare @cantidad_ numeric(9,2)
Declare @codigop_ int
-- Obtenemos el codigo y cantidad del articulo recien vendido 
Select @codigop_ = (select codigop from Inserted)
Select @cantidad_ = (select cantidad from Inserted)
-- Luego hacemos que reste la existencia q esta en la tabla producto
update producto 
set existencia = existencia - @cantidad_
where codigop = @codigop_
----------------------------------------------------------------------------------------------------
Este trigger lo creas en la tabla ven_pro porque cada vez que insertes productos en esa tabla lanzara el trigger para actualizar producto... pero eso funciona cuando insertas ahora cuando elimines tendrás que adaptarlo para que aumente la cantidad eliminada.
PD: inserted es una tabla por decir temporal donde se almacena el registro insertado
Estoy creando mi blog y echale un comentario para escribir un tema de tu interés dale un click a http://hectorcalla.blogspot.com

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas