Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   SQL Server (http://www.forosdelweb.com/f87/)
-   -   SQL Dinámico: Regresa valores con sp_executesql (http://www.forosdelweb.com/f87/sql-dinamico-regresa-valores-con-sp_executesql-454971/)

Mithrandir 08/01/2007 14:51

SQL Dinámico: Regresa valores con sp_executesql
 
Revisando mi código me encontré con esto... La prueba de que sp_executesql permite regresar valores.

La idea básica es que, de una lista de identificadores de cliente separados por comas, obtenga una lista de nombres de esos clientes (salvo del caso de "**Todos**", donde se regresará lo mismo).

Esto va especialmente para Andrés95, que alguna vez discutíamos el caso ;-)
Código:

CREATE PROCEDURE dbo.usp_Ejecutivo_GetClientes(
        @id_clientes NVARCHAR(100),
        @clientes NVARCHAR(1000) OUTPUT
)AS

DECLARE @sql NVARCHAR(1000)

IF @id_clientes = '**Todos**'
BEGIN
        SET @clientes = @id_clientes
END
ELSE
BEGIN
        SET @sql = N'SET @clientesOUT = ''''
                SELECT @clientesOUT = @clientesOUT + ''; '' + cliente
                FROM dbo.tblClientes
                WHERE id_cliente IN (' + @id_clientes + ')'
       
        EXEC sp_executesql @sql,
                N'@clientesOUT NVARCHAR(2000) OUTPUT',
                @clientesOUT = @clientes OUTPUT
       
        SET @clientes = Right(@clientes, LEN(@clientes)-2)
END


Andres95 08/01/2007 15:18

Re: SQL Dinámico: Regresa valores con sp_executesql
 
:arriba: Orale, este ejemplo si esta muy bueno...


La zona horaria es GMT -6. Ahora son las 01:55.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.