{En este ejemplo crearemos funciones básicas en sql. Describiendo un poco:
Al igual que las funciones de los lenguajes de programación, las funciones definidas por el usuario de 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.
Más informacion: Docs.Microsoft
La función es como una acción a ejecutar una vez se llame, pudiendo requerir valores para ejecutarse o simplemente ejecutarse para mostrar resultados.
Ejemplo creando función sin requerir valores sql:
--Creando funcionCREATE FUNCTION Deps()RETURNS varchar(100)ASBEGIN--Creando variable a devolverDECLARE @Nombre varchar(100)--Asignando Valoresset @Nombre=(select top 1 Departamento from Departamento )--Retornando ValorRETURN @NombreENDPara ejecutarla solo tendríamos que poner:SELECT [dbo].[Deps] ()
Y Mostraría el primer departamento de la tabla Departamento
Ahora ejecutando una función que requiera valor lo único que cambiaría es asignarle la variable a la función, por ejemplo ejecutemos un contador de empleados por departamento, el sql seria este:
--Creando funcionCREATE FUNCTION ContadorDeEmpleadosPorDep(--Creando Variables requeridas de funcion@Nombre varchar(100))RETURNS varchar(100)ASBEGIN--Creando variable a devolverDECLARE @Return varchar(100)--Asignando Valoresset @Return= (select count(T0.id)[Contador] from empleado AS T0INNER JOIN Departamento T1 ON T0.iddep=T1.idwhere T1.Departamento LIKE @Nombre)--Retornando ValorRETURN @ReturnENDPara ejecutarla solo tendríamos que poner:--llamando Valor buscadoSELECT [dbo].[ContadorDeEmpleadosPorDep] ('IT')[Contador]De esa manera podemos crear funciones sql .
}