sacar sql dinamico

06/07/2007 - 18:46 por Tazz | Informe spam
Hola amigos

tengo el siguiente SP que recibe un parametro varchar llamado @Items

el valor a entregar es mas menos esto
Set @Items = '1, 4, 1, 88'

y el SP es mas menos esto

Declar @SQLDinamic VarChar(8000)
Set SQLDinamic = 'Select Rut, nombre, ApePat, ApeMat from Clientes'
if IsNull(@Items , '') <> ''
Set SQLDinamic = SQLDinamic + ' Where IdCliente In (' + @Items +
')'

Set SQLDinamic = SQLDinamic + ' Order by ApePat, ApeMat, Nombre'

exec (SQLDinamic)


mi duda es, si existe la forma se sacar ese SQL dinamico y poder
hacerlo directo, de antemano muchas gracias.
 

Leer las respuestas

#1 jcac
06/07/2007 - 19:57 | Informe spam
Hola Tazz

espero esto te ayude

Create Function ListaCaracteres_a_Tabla -- Select * From
ListaCaracteres_a_Tabla (' 002, 003, 004, 005,006', ',')
(@Lista Varchar(8000), @Separador nchar(1) = ',')
Returns @Tabla TABLE (Campo nvarchar(2000))
As
Begin
Declare @Ancho int, @PuntoCorte Int
Set @Ancho = Len(@Lista)
While @Ancho <> 0
Begin
Select @PuntoCorte = Charindex(@Separador, @Lista)
If @PuntoCorte > 0
Begin
Insert Into @Tabla(Campo) Values (dbo.Alltrim(Substring(@Lista, 1,
@PuntoCorte - 1)))
Select @Lista = dbo.Alltrim(Right(@Lista, @Ancho - @PuntoCorte)), @Ancho
= Len(@Lista)
End
Else
Begin
Insert Into @Tabla(Campo) Values (@Lista)
Set @Ancho = 0
End
End
Return
End



"Tazz" escribió en el mensaje
news:
Hola amigos

tengo el siguiente SP que recibe un parametro varchar llamado @Items

el valor a entregar es mas menos esto
Set @Items = '1, 4, 1, 88'

y el SP es mas menos esto

Declar @SQLDinamic VarChar(8000)
Set SQLDinamic = 'Select Rut, nombre, ApePat, ApeMat from Clientes'
if IsNull(@Items , '') <> ''
Set SQLDinamic = SQLDinamic + ' Where IdCliente In (' + @Items +
')'

Set SQLDinamic = SQLDinamic + ' Order by ApePat, ApeMat, Nombre'

exec (SQLDinamic)


mi duda es, si existe la forma se sacar ese SQL dinamico y poder
hacerlo directo, de antemano muchas gracias.

Preguntas similares