Posteado por: eurecadigital | julio 29, 2009

Devolver una tabla en una Función de Usuario (UDF) de SQL Server

Existen varias formas de hacerlo.
La primera y más sencilla….

CREATE FUNCTION getClientesCoincidentes(@parametro1 smallint)
RETURNS TABLE
AS
RETURN (SELECT campo1, campo2 FROM miTabla WHERE campo3 = @parametro1)

Aquí se devuelve la Tabla sin definir para nada el resultado.

En este Ejemplo le daremos formato a los campos de salida (Esto es muy útil si vamos a
utilizar esta función con algún lenguaje de programación como c# en mi caso, ya quelos
parámetros llegan totalmente definidos….

CREATE FUNCTION getClientesCoincidentes(@empresa smallint)
RETURNS @Clientes TABLE (cliente int primary key, nombre varchar(128))
AS
BEGIN
INSERT @Clientes values(1, ‘Chirila’);
INSERT @Clientes values(2, ‘Pesquete’);
INSERT @Clientes values(3, ‘Macuan’);
RETURN
END

Además de definir la Tabla resultante y todos sus campos, insertaremos los registros
a devolver por el sistema.

Para hacer una llamada desde Transac SQL sería así:
SELECT * FROM dbo.getClientesCoincidentes(1)

SELECT *
FROM dbo.getClientesCoincidentes(1, ‘%%’, ‘%MUNARRIZ%’, ‘%%’, ‘%%’, ‘%%’)

Para recuperar estos valores desde .Net aquí tenemos un ejemplo

PD: Este editor es una basura, haber si voy mejorando mis entradas….


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Categorías

A %d blogueros les gusta esto: