Funciones sql definidas por el usuario
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:
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:
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
funcion
CREATE FUNCTION Deps()  
RETURNS varchar(100)  
AS  
BEGIN  
       --Creando
variable a devolver
    DECLARE @Nombre varchar(100) 
       --Asignando
Valores     
       set @Nombre=(select top 1 Departamento from Departamento )  
    --Retornando
Valor
       RETURN @Nombre  
END  
Para 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
funcion
CREATE FUNCTION ContadorDeEmpleadosPorDep
(
--Creando
Variables requeridas de funcion
@Nombre varchar(100)
)  
RETURNS varchar(100)  
AS  
BEGIN  
--Creando
variable a devolver
    DECLARE @Return  varchar(100)  
    --Asignando
Valores   
       set @Return= (select count(T0.id)[Contador] from empleado AS T0 
       INNER JOIN Departamento T1 ON T0.iddep=T1.id
       where T1.Departamento LIKE @Nombre)
       --Retornando
Valor
    RETURN @Return
END 
Para ejecutarla solo tendríamos que poner:
--llamando                              Valor buscado
SELECT [dbo].[ContadorDeEmpleadosPorDep] ('IT')[Contador]
De esa manera podemos crear funciones sql .   
 
 
Comentarios
Publicar un comentario