Está en la página 1de 2

-- =============> FUNCIONES ESCALARES

--FUNCION PARA IGV


create function IGV (@monto money)
returns money
as
begin
declare @result money
set @result=@monto*0.18
return @result
end
--llamar funcion
select ListPrice,dbo.igv(ListPrice) as IGV from Production.Product
where ListPrice>0
--CREAR FUNCION QUE DEVUELVA EL MONTO DE COMPRA POR CADA CLIENTE
create function total_cliente (@codigo int)
returns money
as
begin
declare @result money
set @result=(select sum(TotalDue)from Sales.SalesOrderHeader
where CustomerID=@codigo)
return @result
end
--sin funcion
select c.ContactID,c.FirstName,c.LastName,SUM(o.TotalDue)as monto from Person.Co
ntact c inner join Sales.SalesOrderHeader o
on c.ContactID=o.CustomerID
group by c.ContactID,c.FirstName,c.LastName
--llamar funcion
select ContactID,FirstName +' '+LastName as nombre,dbo.total_cliente(ContactID)
as Monto from Person.Contact
-- =============> FUNCIONES CON VALORES DE TABLA
--MOSTRAR LAS CIUDADES
create function listaciudad()
returns table
as
return
(
select distinct city from Person.Address
)
select * from dbo.listaciudad()
--MOSTRAR LAS CIUDADES (2)
create function mostrarciudad()
returns @ciudades table(ciudad varchar(50))
as
begin
insert @ciudades
select distinct city from Person.Address
return
end
--llamando funcion
select * from dbo.mostrarciudad()
-----------> CON BD NORTHWIND <----------
--CREAR UNA FUNCION QUE MUESTRA EL N DE VENTAS REALIZADAS EN UN PAIS DETERMINADO
--CREAR UNA FUNCION QUE MUESTRA LOS CLIENTES, LA FECA DE VENTAS DE UN EMPLEADO
-- DETERMINADO EN UN PAIS DETERMINADO

También podría gustarte