Cómo ejecuto cadenas con más de 4000 caracteres con exec sp_executesql

11/11/2003 - 09:44 por anonymous | Informe spam
Cómo ejecuto cadenas con más de 4000 caracteres con exec
sp_executesql @SQLString???

Utilizo el código que escribí abajo para ejecutar una
sentencia SQL armando una cadena SQL pero me la truca a
los 4000 caracteres, antes me la truncaba a los 256 y fui
a Herramientas --> Opciones --> Resultados del Query
Analyser y le puse 8192 -que es el máximo- en "Maximum
characters per column" y cuando ejecuto el query me
genera hasta 4000 caracteres, a pesar que le cambio a la
variable @SQLString NVARCHAR(4000) por VARCHAR(8000).
a) Cómo hago para que la variable @SQLString me acepte
más de 4000 caracteres??? (en realidad mi cadena tendrá
unos 6000 caracteres)
b) Si tuviera 10.000 caracteres. Habría alguna forma de
ejecutarla???



Ejemplo resumido de lo que hago:

@SQLString NVARCHAR(4000)

OPEN tablas_cur

FETCH tablas_cur INTO
@NombreTablaCursor

SET @SQLString = N'SELECT ... FROM ' +
@NombreTablaCursor + ' WHERE..'

..
..
..

exec sp_executesql @SQLString
 

Leer las respuestas

#1 Accotto Maximiliano D.
11/11/2003 - 13:16 | Informe spam
que estas intentando hacer con una cadena tan grande?

puedes verificar el tamaño de tu cadena con la funcion len()

te fijaste el tamaño de decia con len?

Accotto Maximiliano Damian
"anonymous" escribió en el mensaje
news:02a301c3a830$0316fa80$
Cómo ejecuto cadenas con más de 4000 caracteres con exec
sp_executesql @SQLString???

Utilizo el código que escribí abajo para ejecutar una
sentencia SQL armando una cadena SQL pero me la truca a
los 4000 caracteres, antes me la truncaba a los 256 y fui
a Herramientas --> Opciones --> Resultados del Query
Analyser y le puse 8192 -que es el máximo- en "Maximum
characters per column" y cuando ejecuto el query me
genera hasta 4000 caracteres, a pesar que le cambio a la
variable @SQLString NVARCHAR(4000) por VARCHAR(8000).
a) Cómo hago para que la variable @SQLString me acepte
más de 4000 caracteres??? (en realidad mi cadena tendrá
unos 6000 caracteres)
b) Si tuviera 10.000 caracteres. Habría alguna forma de
ejecutarla???



Ejemplo resumido de lo que hago:

@SQLString NVARCHAR(4000)

OPEN tablas_cur

FETCH tablas_cur INTO
@NombreTablaCursor

SET @SQLString = N'SELECT ... FROM ' +
@NombreTablaCursor + ' WHERE..'

..
..
..

exec sp_executesql @SQLString

Preguntas similares