Você está na página 1de 7

Funciones en SQL Server

● Al igual que las funciones en los lenguajes de


programación, las funciones definidas por el usuario
de Microsoft SQL Server son rutinas que aceptan
parámetros, realizan una acción, como un cálculo
complejo, y devuelven el resultado de esa acción
como un valor.El valor devuelto puede ser un valor
escalar único o un conjunto de resultados.
Ventajas de las funciones definidas por
el usuario
● Permiten una programación modular.
● Puede crear la función una vez, almacenarla en la
base de datos y llamarla desde el programa tantas
veces como desee. Las funciones definidas por el
usuario se pueden modificar, independientemente
del código de origen del programa.
● Permiten una ejecución más rápida.
Ventajas de las funciones definidas por
el usuario
● Al igual que los procedimientos almacenados, las
funciones definidas por el usuario Transact-SQL
reducen el costo de compilación del código
Transact-SQL almacenando los planes en la caché
y reutilizándolos para ejecuciones repetidas. Esto
significa que no es necesario volver a analizar y
optimizar la función definida por el usuario con
cada uso, lo que permite obtener tiempos de
ejecución mucho más rápidos.
Ventajas de las funciones definidas por
el usuario
● Las funciones CLR ofrecen una ventaja de
rendimiento importante sobre las funciones
Transact-SQL para tareas de cálculo,
manipulación de cadenas y lógica empresarial.
Las funciones Transact-SQL se adecuan mejor a
la lógica intensiva del acceso a datos.
● Pueden reducir el tráfico de red.
● Una operación que filtra datos basándose en
restricciones complejas que no se puede expresar
en una sola expresión escalar se puede expresar
como una función.
Componentes de una función definida
por el usuario
● Todas las funciones definidas por el usuario tienen la misma
estructura de dos partes: un encabezado y un cuerpo. La
función toma cero o más parámetros de entrada y devuelve
un valor escalar o una tabla.
● El encabezado define:
– Nombre de función con nombre de propietario o
esquema opcional
– Nombre del parámetro de entrada y tipo de datos
– Opciones aplicables al parámetro de entrada
– Tipo de datos de parámetro devueltos y nombre opcional
– Opciones aplicables al parámetro devuelto
Componentes de una función definida
por el usuario
● El cuerpo define la acción o la lógica que la función
va a realizar. Contiene:
– Una o más instrucciones Transact-SQL que ejecutan
la lógica de la función
– Una referencia a un ensamblado .NET
Ejemplo de función

CREATE FUNCTION dbo.GetWeekDay -- function name


(@Date datetime) -- input parameter name and data type
RETURNS int -- return parameter data type
AS
BEGIN -- begin body definition
RETURN DATEPART (weekday, @Date) -- action performed
END;
GO

SELECT dbo.GetWeekDay(CONVERT(DATETIME,'20020201',101)) AS
DayOfWeek;
GO

DayOfWeek
---------
6
(1 row(s) affected)

Você também pode gostar