Cada vez que se inserte en la tabla ventas se debe crear un registros en la tabla movimiento en cual se guardan los datos principales del usuario
insert into movimiento select 'VENTAS','I',getdate(),user,host_name(),mto_total from inserted
--------------------------------------------------------------------------------
Veamos 2 ejemplo mas con Trigger
-- 1 -Crear un Trigger que actualice el stock en la tabla producto, cuando se inserte en la tabla ventas
-- 2 - Si el stock es igual 100 debe generar un registro en la tabla pedido
Pregunta 1
Create Trigger tg_Actualiza_stock
on ventas
for insert
as
update producto set c_stock = c_stock - (Select cant_vend from inserted)
where c_producto = (Select c_producto from inserted)
Insert Into Ventas Values ('03','A3','P03','V1',4,120)
--Insert Into Ventas Values ('01','A2','P04','V2',120,120)
--Insert Into Ventas Values ('02','A1','P05','V1',220,120)
select * from ventas
Select * from Producto
-- Actualizacion del Stock
Create Trigger tg_gen_pedido
on producto
for Update
as
if Update(c_stock) -- Si estoy actualizando el campo c_stock
if (Select c_stock from inserted)<= 100 -- si el campo c_stck es menor o igual a 100
insert into Pedido Select c_producto,200,'N','N' from Inserted
Select * from pedido
Insert Into Ventas Values ('01','A1','P1','V1',3,120)
-- ******************************************************
Select * from producto
Create Trigger tg_acepta_pedido
on pedido
for update
as
if update(i_aceptado)
if(Select i_aceptado from inserted) = 'S'
Update producto Set c_stock=c_stock + (Select x_cant_pedido from inserted)
where c_producto = (Select c_producto from inserted)
Select * from pedido
Update pedido set i_aceptado='S' where n_pedido=1
-------------------------------------------------------------------------