SQL SERVER para Principiantes
SQLServer proporciona al usuario la posibilidad de definir sus
propias funciones.
Función: Es un conjunto de
instrucciones que se ejecutan cuando son llamadas desde un programa o
procedimiento. En general, deben tener un nombre único para evitar confusiones.
Se les recomiendan a los alumnos que están iniciando a
estudiar base de datos conocer estas funciones.
Estas son:
Funciones escalares
Funciones en línea
Explicaremos estas funciones por medio de ejemplos;
Funciones
escalares
Las funciones escalares devuelven un único
valor de cualquier tipo de los datos tal como int, money, varchar, entre otros
valores.
Este es un ejemplo, calculando el valor del Itbis del
precio unitario
.
/*Creando función escalar, para obtener un valor*/
CREATE FUNCTION
dbo.calcular_itbis(@UnitPrice money)/*Se coloca el
nombre de la función , y los parámetros que de lo que necesitamos obtener y su tipo de dato, )*/
RETURNS money /* Retorno del tipo de
dato*/
as
BEGIN
declare @IVA money /*declarar variable donde
se almacenara el valor con @*/
set @ITBIS = @UnitPrice*1.16 /* para modificar la
variable se utiliza set*/
RETURN @ITBIS /*retorno de variable*/
END
GO
/*Ejecutar función*/
/*seleccionamos
los campos*/ select ProductID , ProductName, UnitPrice,
/*nombre de la función con el parámetro*/ dbo.calcular_IVA(UnitPrice)
as IVA from Products /*nombrar columna AS(nombre) */
/*
Toma en cuenta que siempre las funciones deben ejecutarse dentro de una
sentencia, por ejemplo: Select*/
Función
en línea
Una función con valores de tabla en línea retorna una tabla que es el resultado de una única instrucción "select".
Una función con valores de tabla en línea retorna una tabla que es el resultado de una única instrucción "select".
Este es un ejemplo contando los clientes de la misma
nacionalidad:
/* Función
lineal*/
CREATE function
Ciudad_clientes (@Country nchar(15)) returns table
as
return (SELECT
CustomerID, CompanyName,Country) /*seleccionar los
campos*/
from Customers
/*tabla*/
where Country=@Country); /* condición*/
/*Consultar*/
select * from dbo.Ciudad_clientes ('Mexico') /*parámetro
a consultar*/
La cláusula "return" contiene una sola
instrucción "select"
entre paréntesis. El resultado del "select" es la tabla
que se retorna.
"returns" especifica "table"
como el tipo de datos a retornar. No se define el formato de la tabla a
retornar porque queda establecido en el "select".
El cuerpo de la función no contiene un bloque "begin...end" como las otras
funciones.
0 comentarios:
Publicar un comentario