jueves, noviembre 21, 2024

Como crear una función en SQL que nos retorne una tabla

Esta función que creamos nos retorna una tabla, luego esta la podríamos utiliza como otra tabla e invocarla en el FROM de algún select.

Este ejemplo retorna todos los usuarios «hijos» del usuario consultado, pero bien podría funcionar con otro tipo de consulta mas elaborada.

CREATE FUNCTION FN_TEC_TraerUsuariosRelaciones(
@nom_usuario_padre as varchar(100))
RETURNS TABLE
AS
RETURN (
SELECT distinct
hijo.name as «NombreHijo»,
hijo.edad as «EdadaHijo»
FROM
t_usuarios padre,
t_usuarios hijo
WHERE
padre.nombre = coalesce(@nom_usuario_padre,padre.nombre)
)

Luego en otra consulta podriamos invocar esta función de la siguiente forma:

Select * from FN_TEC_TraerUsuariosRelaciones(«Carlos»)

Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub
Roy Rojas
Roy Rojashttp://www.dotnetcr.com
Con más de 20 años de experiencia en programación, experto en lenguajes .NET, VB, C#, ASP.NET, Xamarin, XCode, DBA en SQL Server. Creador de dotnetcr.com, sitio web para programadores en español. royrojas.com | dotnetcr.com | GitHub