CREATE FUNCTION <nombreFuncion>(<Parametro><TipodeDato>,…n)
RETURNS <TipodeDato>
AS
BEGIN
<Instruccion, operacion, etc.>
RETURN <campo de regreso del mismo valor del regreso de la función>
END
SQL Server nos proporciona una numerosa cantidad de funciones integradas del sistema, el cual en esta ocasión hablaré sólo de algunas, además de estas funciones, SQL permite crear funciones de usuario, las cuales podemos crear consultando tablas de nuestra base de datos e incluso combinando con funciones del sistema u otras funciones de usuario.
Borrar: DROP FUNCTION <nombreFuncion>
A considerar al implementar Funciones. Las funciones no pueden ejecutar Procedimientos Almacenados (S.P.). Solo se puede anidar hasta 32 funciones al momento de ejecutar.
No pueden insertar datos en otra tabla con la instrucción INTO ejemplo.
No se puede formatear el resultado en XML.
En las funciones tipo tablas, el resultado no se puede regresar con la instrucción ORDER BY en el RETURN.
Solo las tablas temporales como variables están permitidas dentro de las funciones.
Modificar: ALTER FUNCTION <nombreFuncion>(<Parametro><TipodeDato>,…n) RETURNS <TipodeDato>
AS
BEGIN
<Instruccion, operacion, etc.>
RETURN <campo de regreso del mismo valor del regreso de la función>
END
Existen 3 tipos de funciones que se puede utilizar dentro de SQL Server, Funciones Escalares, Funciones con valor de tablas y funciones integradas. (Con miedo a equivocarme, pero aquí explicare estos 3 tipos.)
CREATE FUNCTION EnMayusculas ( @Nombre Varchar(50),
@Apellido Varchar(50)
)
RETURNS Varchar(100)
AS
BEGIN
RETURN (UPPER(@Apellido) + ', ' + UPPER(@Nombre))
END
--Ejecutar
Print dbo.EnMayusculas('damian','ruiz')
CREATE Function Tabla(@IdEmpleado int) Returns Table AS
Las funciones integradas son las que vienen directamente al instalar nuestra instancia y nuestro servidor de base de datos SQL Server. Aquí enlistare algunas funciones. AVG(): Calcula el promedio. SUM(): Realiza la suma.
COUNT(): Contabiliza el total de registros.
DATETIME(): Regresa la fecha y hora del sistema en SQL Server.