Funciones, Procedimientos y Triggers
Funciones, Procedimientos y Triggers
Funciones, Procedimientos y Triggers
Verificar la suma total de los consumos y reservas que ha realizado un determinado cliente:
CREATE function verificarconsumo (@ced varchar(10)) returns varchar(100)
BEGIN
DECLARE @stock int
DECLARE @valor decimal (4,2)
DECLARE @cad varchar (100)
set @valor=(select sum(total_pago) from pago,reserva,cliente where
cliente.cedula_cli=@ced
and reserva.cliente_cedula=cliente.cedula_cli and
pago.idreserva=reserva.idreserva)
set @cad=CONCAT('EL cliente: ',@ced,' Ha realizado el consumo de:
',@valor)
return @cad
END
Procedimiento almacenado que me permite descontar el stock cada vez que realizo un
consumo de un producto
CREATE procedure stockControl(@id int,@cant int)
AS
BEGIN
DECLARE @stock int
set @stock=(select stock from producto where idproducto=@id)
IF (@cant <@stock)
BEGIN
UPDATE producto set stock=(@stock-@cant) where idproducto=@id
Print "Aprobado"
END
ELSE
BEGIN
Print "Reprobado"
END
END
Procedimiento almacenado que me permite verificar todas las habitaciones que se encuentran
disponibles
create procedure habitacionesDisponibles as
select * from habitacion where estado like '%Disponible%' order by idhabitacion;
Crear Tabla
CREATE TABLE Historial_Usuario(usuario varchar(10),nombres varchar(50),total_pago
decimal(7,2),num_pago varchar(20),fecha date)
Crear Trigger
create trigger usuarioReporte
on pago after insert as
begin
declare @id int
select @id=idreserva from inserted
declare @cedula varchar(10)
select @cedula=(select usuario_cedula from reserva where reserva.idreserva=@id)
insert into Historial_Usuario(usuario,nombres,total_pago,num_pago,fecha)
select (select usuario_cedula from reserva where reserva.idreserva=@id),(select
nombres from persona where persona.cedula=@cedula),total_pago,num_pago,GETDATE()
from inserted
end;