Ejercicios Sqlserver
a) Que disminuya el stock.
b) Que genere una alerta cuando los productos están por terminarse(marcando con algún campo o mostrando un mensaje de alerta) ( 2ptos).
Creamos el campo idescaso que almacenará una ‘S’ o una ‘N’ para indicarnos si queda poco stock o no.
alter tableAlmacen_Carnet.dbo.bodega add idescaso nvarchar(1) null
Aquí tenemos la pantalla de compilación del Store Procedure:
Y aquí el script:
create procedure venta_bodega @idproducto int, @unidades int
as
declare@after int
-- contendrá el stock que quedará despues de la venta
declare @aux int = 0
-- contiene el valor que indicará si es que el producto existe ( >0 existe; = 0 no existe)
set @aux =(select count(*) from Almacen_Carnet.dbo.bodega where idprodbod = @idproducto)
--mayor a 0 existe
set @after = (select unidades-@unidades from Almacen_Carnet.dbo.bodega where idprodbod = @idproducto)--stock luego de la venta
if @aux > 0
begin
if @after < 0
begin
RaisError('Cantidad pedida supera al stock almacenado', 11, 1)
end
else
begin
update Almacen_Carnet.dbo.bodegaset unidades = unidades - @unidades where idprodbod = @idproducto
if @after <= 5
begin
update Almacen_Carnet.dbo.bodega set idescaso = 'S' where idprodbod = @idproducto
--updatea elindicador de escaso a 'S' si es que el stock es menor o igual a 5
end
else
begin
update Almacen_Carnet.dbo.bodega set idescaso = 'N' where idprodbod = @idproducto
--updatea el indicadorde escaso a 'N' si es que el stock es mayor a 5
end
end
end
else
begin
RaisError('No existe producto', 11, 1)
End
2.- Crear un procedimiento de almacenado que se encargue delmantenimiento de las ventas. Ojo que los clientes que ya han comprado una vez tienen un 15% de descuento(2 ptos).
Creamos una vista que nos permita tener todos los datos de la venta:
Esta es la query de...
Regístrate para leer el documento completo.