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