Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

SQL Dinámico: Regresa valores con sp_executesql

Estas en el tema de SQL Dinámico: Regresa valores con sp_executesql en el foro de SQL Server en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 08/01/2007, 14:51
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
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
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #2 (permalink)  
Antiguo 08/01/2007, 15:18
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
Re: SQL Dinámico: Regresa valores con sp_executesql

Orale, este ejemplo si esta muy bueno...
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:19.