Sei sulla pagina 1di 5

Regional Distrito Capital

Centro de Gestión de Mercados, Logística y Tecnología de la información Fecha:


Sistema de PROGRAMA DE FORMACION : 2010
Gestión de la ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Calidad

FUNCIONES DEFINIDAS POR EL USUARIO

Presentado Por: Maria Mercedes Gordo


40130

Presentado a:Ing Sandra Yanneth Rueda Guevara

ADSI
SENA
Bogotá
2010
Regional Distrito Capital
Centro de Gestión de Mercados, Logística y Tecnología de la información Fecha:
Sistema de PROGRAMA DE FORMACION : 2010
Gestión de la ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Calidad

TALLER DE FUNCIONES DEFINIDAS POR EL USUARIO

1. Vamos a crear una funcion que multiplique dos números, utilicen cualquier base
de datos.

create function multi – utilizamos el comando create para crear un objeto funcion y la
damos el nombre

(@num1 float, @num2 float) returns float -- entre parentesis van las variable que recibe la
funcion y enseguida la clausula Returns con el tipo de dato que se retornará, puede
retornar también una tabla.

as -- iniciamos la sentencia

begin -- la sentencia se debe incluir entre un bloque Begin End

declare @multi float -- declaramos la variable que vamos a retornar

select @multi = (@num1 * @num2)-- hacemos la sentencia que riquiere la funcion

return @multi -- retornamos la variable

end -- fin de la instruccion

/*ahora vamos a usar la funcion*/

select dbo.multi (20,4)

-- la sentencia con comando select, el nombre de la funcion y entre parentesis los valores
que recibe la funcion

La sentencia anterior es la forma completa; sin embargo, también puede ser creada
así:

create function multiplica

(@num1 float, @num2 float) returns float


as
begin
return (select (@num1 * @num2))
end
Regional Distrito Capital
Centro de Gestión de Mercados, Logística y Tecnología de la información Fecha:
Sistema de PROGRAMA DE FORMACION : 2010
Gestión de la ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Calidad

2. Funcion que recibe el nombre de un producto y retorna el precio unitario, utilice


la base de datos Northwind.

CREATE FUNCTION PrecioProducto


(@nom nvarchar(40)) RETURNS money
AS
BEGIN
RETURN (select unitPrice
from Products
where ProductName = @nom)
END

UTILICEMOS LA FUNCION CREADA.

select ProductName, UnitsInStock


from Products
where dbo.PrecioProducto(ProductName)> 15

ACTIVIDAD

Usando la base de datos Northwind:

1. Cree una función para obtener porcentajes.

Alter function Porcentaje

(@num1 float, @num2 float) returns float


As
Begin
Declare @por float
Select @por= (@num1*100/@num2)
return @por
end
go

select dbo.Porcentaje (50,200000) as porcentaje


Regional Distrito Capital
Centro de Gestión de Mercados, Logística y Tecnología de la información Fecha:
Sistema de PROGRAMA DE FORMACION : 2010
Gestión de la ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Calidad

2. Cree una función para hallar área.

Create function area


(@num1 float,@num2 float) returns float
As
Begin
Declare @a float
Select @a= (@num1*@num2)/2
return @a
end
go

Select dbo.area (15, 23) as area_triangulo

3. Cree una sentencia en la cual utilice las funciones del punto 1 y 2 y muestre los
dos valores que retornan en el mismo SELECT, asígnele a cada valor alias.

select dbo.Porcentaje (50,200000) as porcentaje, dbo.area (15,23) as


area_triangulo

4. Cree una función que reciba el nombre del cliente y dos fechas y retorne cuanto ha
comprado en ese lapso de tiempo.

Create function compra


(@nomCli nvarchar(40),@fech1 datetime,@fech2 datetime)
Returns Money
As
Begin
Return(select CustomerID from Customers c inner join Order o on c.CustomerID
inner join Order Details o don o.OrderID=od.OrderID
Where OrdeDate =@fech1 and RequiredDate =@fech2 and @fech1 betweeb
@fech2
)
Regional Distrito Capital
Centro de Gestión de Mercados, Logística y Tecnología de la información Fecha:
Sistema de PROGRAMA DE FORMACION : 2010
Gestión de la ANALISIS Y DESARROLLO DE SISTEMAS DE INFORMACION
Calidad

5. Cree una función que retorne el total vendido. Tenga en cuenta que esta función
no recibe parámetros; pero sin embargo, debe agregar los paréntesis vacíos
después del nombre de la función tanto cuando la crea como cuando la usa.

create function venta


()returns money
as
begin
return
(select sum ((UnitPrice*Quantity)-Discount) as total_vendido
from [Order Details]
)
end

select dbo.Venta () as ventas

6. Cree una función para obtener el total vendido por cada empleado. (no recibe
parámetros)

create function ventas_empleado


()returns money
as
begin
return
(
select EmployeeID ,sum ((UnitPrice*Quantity)-Discount)as total_vendido
from dbo.Orders o inner join [Order Details] od on od.OrderID=o.OrderID
group by EmployeeID
)
end

select dbo.ventas_empleado () as ventas_empleado

7. Cree una función que permita obtener el porcentaje de ventas de cada empleado,
con respecto al total vendido; como ya tiene creadas dos funciones que hacen
tareas que requiere en esta función, utilícelas.

8. Cree la sentencia en la que utilice cada función creada.

select UnitPrice
from dbo.venta
where UnitPrice>100000

Potrebbero piacerti anche