Triggers

CREACION DE TRIGGERS

use Logistica

go

--========--

--Paso 1

select * from Agencia

update Agencia set m_logrado=0

select * from Ventas

 

--Paso 2

insert into Ventas values('08','A2','P6','V6',25,89)

delete Ventas where c_agencia='07' --como no actualiza la agencia borramos la insercion hecha

 

--Paso 3 Actualiza el m_logrado en agencia cuando insertas en ventas

create trigger tg_act_agencia

on ventas --donde se va a ejecutar el trigger

for insert --cuando se ejecuta el trigger(insertar)

as

      update agencia set m_logrado=m_logrado+(select mto_total from inserted)

      where c_agencia=(select c_agencia from inserted)

     

--==========--

 

--Paso 4 actualiza el m_logrado de agencia cuando se elimina en ventas

create trigger tg_eli_agencia

on ventas --donde se va a ejecutar el trigger

for delete --cuando se ejecuta el trigger(insertar)

as

      update agencia set m_logrado=m_logrado-(select mto_total from deleted)

      where c_agencia=(select c_agencia from deleted)

     

-------------------------------------------

alter table producto add constraint chk_valida_stock

check(c_stock>=10)

 

-------------------------------------------

--Crear un triger que cuando se inserte un registro en ventas se debe actualizar el stock del producto

create trigger tg_act_Producto

on ventas --donde se va a ejecutar el trigger

for insert --cuando se ejecuta el trigger(insertar)

as

      update Producto set c_stock=c_stock-(select cant_vend from inserted)

      where c_producto=(select c_producto from inserted)

     

select * from Ventas

select * from Producto

update Producto set c_stock=100

-------------------------------------------

--realizar el proceso de eliminacion de una venta

create trigger tg_act_eliminar_stock

on ventas

for delete

as

      update producto set c_stock=c_stock+(select cant_vend from deleted)

      where c_producto=(select c_producto from deleted)

           

     

select * from ventas

delete from ventas where n_item=1

 

------------------------------------------

--insertar un registro en la tabla ventas y actualizar el m_vendido de la tabla vendedor_agencia

create trigger tg_act_Vendedor_Agencia

on ventas --donde se va a ejecutar el trigger

for insert --cuando se ejecuta el trigger(insertar)

as

      update Vendedor_Agencia set m_vendido=m_vendido+(select mto_total from inserted)

      where c_vendedor=(select c_vendedor from inserted) and c_agencia=(select c_agencia from inserted)

     

select * from vendedor_agencia

select * from ventas

 

 

--======================================================================================================================--

create table Movimiento

(

n_secuencia int identity(1,1)not null,

n_tabla varchar(50),

t_movimineto char(1),

d_fecha datetime,

d_usuario varchar(20),

d_maquina varchar(20),

m_tot_trans money

)

 

create table Pedido

(

n_pedido int identity(1,1)not null,

c_producto varchar(3),

x_cant_pedido int,

i_aceptado char(1),

i_anulado char(1),

)

 

----

--cada vez que se inserte en la tabla ventas se debe crear un registro en la tabla movimiento

--en cual se guardan los datos principales del usuario

create trigger tg_inserta_Movimiento

on ventas --donde se va a ejecutar el trigger

for insert --cuando se ejecuta el trigger(insertar)

as

      insert into Movimiento

      select 'VENTAS','I',getdate(),user,host_name(),mto_total from inserted

     

select * from movimiento

insert into Ventas values('07','A2','P6','V6',25,89)

the hour is...
 
music
 


MusicPlaylist
Music Playlist at MixPod.com