Está en la página 1de 3

CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION

ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN

TALLER DE FUNCIONES DEFINIDAS POR EL USUARIO

Las funciones son objetos que permiten realizar cálculos, no necesariamente reciben
parámetros pero siempre retornan valores de tipo numero (float, int, money, etc).

Las funciones obligatoriamente deben tener los paréntesis en los cuales se agregan los
parámetros que recibe, aunque no reciba ninguno.

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

create function multi – utilizamos el comando create para crear el objeto función y le
damos el nombre

(@num1 float, @num2 float) returns float -- entre parentesis van las variable que recibe la
función y enseguida la instrucción Returns con el tipo de dato que se retornará. Es
importante tener en cuenta que una función siempre debe retornar algún valor.

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 requiere la función

return @multi -- retornamos la variable

end -- fin de la instrucción

/*ahora vamos a usar la función*/

select dbo.multi (20,4)

-- la sentencia con comando select, el nombre de la función y entre paréntesis los valores
que recibe la función

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

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática
CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN

return (select (@num1 * @num2))


end

No se declara una variable que reciba el valor que se retorna, porque directamente se
asigna la sentencia al return, También, recordemos que la sentencia puede consultar
tablas, aunque en los dos ejemplos anteriores no consulta ninguna tabla si requiere la
selección. En el siguiente ejemplo utilizamos una tabla de la base de datos Neptuno.

2. Función que recibe el nombre de un producto y retorna el precio unitario, utilice


la base de datos Neptuno.

CREATE FUNCTION PrecioProducto


(@nom nvarchar(40)) RETURNS money
AS
BEGIN
RETURN (select PrecioUnidad
from Productos
where NombreProducto = @nom)
END

UTILICEMOS LA FUNCION CREADA.

select NombreProducto, UnidadesEnExistencia


from Productos
where dbo.PrecioProducto(NombreProducto)> 15

En este ejemplo hacemos que el valor retornado por la función sea condicionado;
entonces, el resultado de una funcion creada por el usuario puede ser mostrado y/o
condicionado.

ACTIVIDAD

En la base de datos Neptuno:

Como complemento en el desarrollo de este taller debe crear un objeto de tipo


Procedimiento almacenado o vista para implementar cada función y mostrar su
resultado, puede agrupar varias funciones que tengan características similares en un
solo procedimiento o vista.

1. Cree una función para obtener porcentajes en general.


2. Cree una función para hallar área, tenga en cuenta que de acuerdo con la
necesidad, hay una fórmula. Utilice una estructura case o un if para hallar el
resultado de acuerdo con el área a obtener.
3. Cree una función que reciba el nombre de un cliente y un año, y retorne cuanto ha
pagado en total en ese año.

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática
CENTRO DE GESTION DE MERCADOS LOGISTICA Y TECNOLOGIAS DE LA INFORMACION
ANÁLISIS Y DESARROLLO DE SISTEMAS DE INFORMACIÓN

4. 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.
5. Cree una función para obtener el total vendido por un empleado. Determine qué
variables requiere.
6. 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, revise si es necesario hacer ajustes y
utilícelas.

Asegúrese de haber creado un procedimiento almacenado o vista para utilizar cada


función creada.

Elaborado por: Instructora Sandra Yanneth Rueda Guevara


SENA - Área de Teleinformática

También podría gustarte