Problemas en los pasos variables SP_EXECUTE

01/10/2004 - 11:20 por Emilio G Loeda | Informe spam
Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto, pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL 7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2 like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2 nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where [' +@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
01/10/2004 - 11:42 | Informe spam
Está correcto, lo que ocurre es que estás usando doble comilla en vez de
comilla simple. Prueba con:

set @strSQL='select count(*) from claims where @strCol2 like
''%Rejected Reason:%'''


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Emilio G Loeda" escribió en el mensaje
news:
Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto, pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL 7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2 like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2 nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where [' +@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es
Respuesta Responder a este mensaje
#2 Emilio G Loeda
01/10/2004 - 11:52 | Informe spam
Gracias por ti ayuda.

Lo he probado, y no funciona, Uff :-(

"Carlos Sacristan" <csacristan ARROBA mvps.org> wrote in
news:#:

Está correcto, lo que ocurre es que estás usando doble comilla en
vez de
comilla simple. Prueba con:

set @strSQL='select count(*) from claims where @strCol2 like
''%Rejected Reason:%'''


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

Por favor, responder únicamente al foro
Se agradece la inclusión de sentencias DDL


"Emilio G Loeda" escribió en el mensaje
news:
Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto, pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL 7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2 like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2 nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where [' +@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es





Respuesta Responder a este mensaje
#3 Emilio G Loeda
01/10/2004 - 12:18 | Informe spam
Me respondo

La solución es la siguiente

set @strSQL='select @outSQL=count(*) from claims where [' +@strCol+']
like ''%Rejected Reason:%'' '

exec sp_executesql @strSQL,N'@outSQL int out',@outSQL out
select @outSQL


Funciona no es brillante pero funciona

Emilio G Loeda wrote in
news::

Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto, pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL 7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2 like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2 nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where [' +@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es
Respuesta Responder a este mensaje
#4 ulises
01/10/2004 - 15:26 | Informe spam
¿Qué deseas pasar en @strcol?, ¿el nombre de una columna
contra la cual deseas validar?, en ese caso no se puede
usar como lo tratas de hacer, no pueden estar como
variables los nombres de las columnas ni de las tablas
dentro de la cadena que pasas al sp_executesql.

Saludos,
Ulises

Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto,


pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL


7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2


like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2


nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no


optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where ['


+@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es
.

Respuesta Responder a este mensaje
#5 Emilio G Loeda
01/10/2004 - 16:10 | Informe spam
Si es el nombre de la columna, al final lo he solucionado de otra forma un
poco rara (ver este mismo hilo).

Es una pena que no se pueda utilizar sp_execute con nombres de columnas

Gracias por todo

"ulises" wrote in news:167d01c4a7ba$47bb4f30
$:

¿Qué deseas pasar en @strcol?, ¿el nombre de una columna
contra la cual deseas validar?, en ese caso no se puede
usar como lo tratas de hacer, no pueden estar como
variables los nombres de las columnas ni de las tablas
dentro de la cadena que pasas al sp_executesql.

Saludos,
Ulises

Saludos Todos

Necesito vuestra ayuda, tengo un problema bastante tonto,


pero no doy
con la solución

Ejecuto parte de la siguiente parte del TSQL sobre MSSQL


7.0 y no
devuelve la información requerida

set @strSQL='select count(*) from claims where @strCol2


like "%
Rejected Reason:%"'

exec sp_executesql @strSQL,N'@strCol2


nvarchar(200)',@strCol2=@strCol

Creo que el problema esta que la variable @strCol2, no


optiene el valor
que la paso , contenida en @strCol


Pero si ejecuto el codigo de esta forma

set @strSQL='select count(*) from claims where ['


+@strCol+'] like "%
Rejected Reason:%"'

exec sp_executesql @strSQL


En este caso se ejecuta y devuelve los datos esperados

¿se puede utilizar sp_execute como lo he escrito?


Gracias todos






Emilio Garcia Loeda
emilio dot loeda algaroba telsi dot es
.




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida