Funciones escalares
Una función escalar retorna un único valor. Como todas las funciones, se crean con la instrucción "create function". La sintaxis básica es:
create functionNOMBRE
(@PARAMETRO TIPO=VALORPORDEFECTO)
returns TIPO
begin
INSTRUCCIONES
return VALORend;
Luego del nombre se colocan (opcionalmente) los parámetros de entrada con su tipo.La cláusula "returns" indica el tipo de dato retornado.
El cuerpo de la función, se define en unbloque "begin...end" que contiene las instrucciones que retornan el valor. El tipo del valor retornado puede ser de cualquier tipo, excepto text, ntext, image, cursor o timestamp.
Creamos una simplefunción denominada "f_promedio" que recibe 2 valores y retorna el promedio:
create function f_promedio
(@valor1 decimal(4,2),
@valor2decimal(4,2)
)
returns decimal (6,2)
as
begin
declare @resultado decimal(6,2)
set@resultado=(@valor1+@valor2)/2
return @resultado
end;
Entonces, luego de "create function" y el nombre de la función, se deben especificar los parámetros de entrada con sustipos de datos (entre paréntesis), el tipo de dato que retorna luego de "returns", luego de "as" comienza el bloque "begin...end" dentro del cual se encuentran las instrucciones de procesamiento y elvalor retornado luego de "return".
En el ejemplo anterior se declara una variable local a la función (desaparece al salir de la función) que calcula el resultado que se retornará.
Al hacer referencia auna función escalar, se debe especificar el propietario y el nombre de la función:
select dbo.f_promedio(5.5,8.5);
Cuando llamamos a funciones que tienen definidos parámetros de...
Regístrate para leer el documento completo.