Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 1

--1)alter proc usp_platosVendidos @fechainicial date, @fechafinal date

as select top (5) df.plato,count (*) as [cantidad de platos] from


detallefactura df inner join factura f on df.idfactura = f.idfactura
where fechafactura between @fechainicial and @fechafinal group by
df.plato order by [cantidad de platos] desc execute usp_platosvendidos
'01/01/2016','12/12/2016' usp_platosvendidos
'01/01/2016','12/12/2016' execute usp_platosvendidos @fechainicial=
'01/01/2016',@fechafinal='12/12/2016'//// --2) solucin create
procedure usp_listadocamareros @volumen int, @fechainicial date,
@fechafinal date as select
Co.nombre,co.apellido1,co.apellido2,df.idcocinero, count(*) as cantidad
from cocinero co inner join detallefactura df on co.idcocinero =
df.idcocinero inner join factura f on f.idfactura = df.idfactura where
f.fechafactura between @fechainicial and @fechafinal group by
Co.nombre,co.apellido1,co.apellido2,df.idcocinero having count(*)
>@volumen //// --3) solucion
alter trigger tr_historial on cliente1 for update as begin insert
log_cliente select del.direccion as direccion_antigua,ins.direccion as
direccion_nueva , del.contacto as contacto_antiguo, ins.contacto as
contacto_nuevo from inserted ins inner join deleted del on del.idcliente
= ins.idcliente end ////--4) solucin select cab.idmov, cab.fecha,
cab.idcliente, cab.iddocumento, cab.numserie , cab.numdoc
,cab.montofactu,doc.distrito,doc.documento from cabmov cab inner
join documento doc on cab.iddocumento = doc.iddocumento where
year (cab.fecha) = 2014 and cab.montofactu between '1500'and '3000'
and doc.distrito in ('san isidro','santiago de surco','pueblo libre') and
doc.documento ='factura'//// create proc usp_consultarclientes as
select * from cliente1 cli where cli.idcliente not in (select idcliente from
cabmov group by idcliente )//// select e.nombrecliente ,e.direccion
,e.distrito ,e.idcliente from cabmov as l right join cliente1 as e on
l.idcliente = e.idcliente where l.idcliente is null; //// --1:) solucin
select idpedido,fecha as antiguo,fecha as nuevo,monto as
montoAnt,monto as montoNue,tipo='I',getdate () as fecha_sistema into
auditoria_pedido from pedido drop table auditoria_pedido create
trigger tr_auditoria on pedido for insert,update,delete as declare
@ins int, @del int set @ins=(select COUNT(*) from inserted) set
@del=(select COUNT(*) from deleted) if @ins>0 and @del = 0 begin
print 'se realizo una insercion' insert auditoria_pedido select
ins.idpedido, ins.fecha, ins.fecha, ins.monto, ins.monto, 'I',getdate()
from inserted ins end else if @ins>0 and @del>0 begin print 'se
realizo una actualizacion' insert auditoria_pedido select ins.idpedido,
del.fecha, ins.fecha, del.monto, ins.monto, 'U', GETDATE () from
inserted ins inner join deleted del on ins.idpedido = del.idpedido en
else if @ins=0 and @del>0 begin print 'se realizo un delete' insert
auditoria_pedido select del.idpedido, del.fecha, del.fecha, del.monto,
del.monto, 'D',getdate() from deleted del end //// ------create trigger
tr_actualizacionDetalleon detallealquiler for update as insert
auditoria_detalle select al.idcliente,ins.idauto,ve.placa, getdate() from
inserted ins inner join vehiculo ve on ve.idauto=ins.idauto inner join
alquiler al on al.idauto = ins.idauto where ins.fechadevolucion >
ins.fechadevolver //// create trigger tr_actualizaciondetalle on

--1)alter proc usp_platosVendidos @fechainicial date, @fechafinal date


as select top (5) df.plato,count (*) as [cantidad de platos] from
detallefactura df inner join factura f on df.idfactura = f.idfactura
where fechafactura between @fechainicial and @fechafinal group by
df.plato order by [cantidad de platos] desc execute usp_platosvendidos
'01/01/2016','12/12/2016' usp_platosvendidos
'01/01/2016','12/12/2016' execute usp_platosvendidos @fechainicial=
'01/01/2016',@fechafinal='12/12/2016'//// --2) solucin create
procedure usp_listadocamareros @volumen int, @fechainicial date,
@fechafinal date as select
Co.nombre,co.apellido1,co.apellido2,df.idcocinero, count(*) as cantidad
from cocinero co inner join detallefactura df on co.idcocinero =
df.idcocinero inner join factura f on f.idfactura = df.idfactura where
f.fechafactura between @fechainicial and @fechafinal group by
Co.nombre,co.apellido1,co.apellido2,df.idcocinero having count(*)
>@volumen //// --3) solucion
alter trigger tr_historial on cliente1 for update as begin insert
log_cliente select del.direccion as direccion_antigua,ins.direccion as
direccion_nueva , del.contacto as contacto_antiguo, ins.contacto as
contacto_nuevo from inserted ins inner join deleted del on del.idcliente
= ins.idcliente end ////--4) solucin select cab.idmov, cab.fecha,
cab.idcliente, cab.iddocumento, cab.numserie , cab.numdoc
,cab.montofactu,doc.distrito,doc.documento from cabmov cab inner
join documento doc on cab.iddocumento = doc.iddocumento where
year (cab.fecha) = 2014 and cab.montofactu between '1500'and '3000'
and doc.distrito in ('san isidro','santiago de surco','pueblo libre') and
doc.documento ='factura'//// create proc usp_consultarclientes as
select * from cliente1 cli where cli.idcliente not in (select idcliente from
cabmov group by idcliente )//// select e.nombrecliente ,e.direccion
,e.distrito ,e.idcliente from cabmov as l right join cliente1 as e on
l.idcliente = e.idcliente where l.idcliente is null; //// --1:) solucin
select idpedido,fecha as antiguo,fecha as nuevo,monto as
montoAnt,monto as montoNue,tipo='I',getdate () as fecha_sistema into
auditoria_pedido from pedido drop table auditoria_pedido create
trigger tr_auditoria on pedido for insert,update,delete as declare
@ins int, @del int set @ins=(select COUNT(*) from inserted) set
@del=(select COUNT(*) from deleted) if @ins>0 and @del = 0 begin
print 'se realizo una insercion' insert auditoria_pedido select
ins.idpedido, ins.fecha, ins.fecha, ins.monto, ins.monto, 'I',getdate()
from inserted ins end else if @ins>0 and @del>0 begin print 'se
realizo una actualizacion' insert auditoria_pedido select ins.idpedido,
del.fecha, ins.fecha, del.monto, ins.monto, 'U', GETDATE () from
inserted ins inner join deleted del on ins.idpedido = del.idpedido en
else if @ins=0 and @del>0 begin print 'se realizo un delete' insert
auditoria_pedido select del.idpedido, del.fecha, del.fecha, del.monto,
del.monto, 'D',getdate() from deleted del end //// ------create trigger
tr_actualizacionDetalleon detallealquiler for update as insert
auditoria_detalle select al.idcliente,ins.idauto,ve.placa, getdate() from
inserted ins inner join vehiculo ve on ve.idauto=ins.idauto inner join
alquiler al on al.idauto = ins.idauto where ins.fechadevolucion >
ins.fechadevolver //// create trigger tr_actualizaciondetalle on

You might also like