ERROR !!!!! Limitacion tamaño varchar(8000)

27/10/2005 - 15:50 por Jesus Suarez | Informe spam
Hola a todos,
tengo un conjuento de variables de tipo varchar con diferentes tamaños,
la concatenacion de todas ellas es mas grande que 8000.
Lo que quiero hacer en un procedimiento almacenado es guardar la
concatenacion de todas estas variables en un campo de una tabla que es de
tipo TEXT, como puedo hacer, sin que me trunque el texto.

Un saludo

Jesús Suarez López
Responsable Técnico de Galiciaempleo.net
Galiciaempleo.net
C/ Curros Enriquez 43 bajo
mail: soporte@galiciaempleo.net
Tlf 981 217 855

Preguntas similare

Leer las respuestas

#6 Rubén Vigón
27/10/2005 - 17:37 | Informe spam
Hola de nuevo, Jesús

Te he preparado un pequeño ejemplo; está basado en una base de datos «pruebas», con una tabla «prueba» con dos campos «idtexto» (int) y «campo_text» (text). Declaro 3 variables varchar(3000) en las que almaceno 3.000 caracteres 'a', 3.000 caracteres 'b' y 3.000 caracteres 'c' y posteriormente uso TEXTPTR y UPDATETEXT para concatenar estas 3 variables en el campo «text» y dejarlo con 9.000 caracteres:


USE pruebas
DECLARE @a varchar(3000), @b varchar(3000), @c varchar(3000)
DECLARE @ptr varbinary(16)

SELECT @a = REPLICATE('a', 3000), @b = REPLICATE('b', 3000), @c = REPLICATE('c', 3000)

SELECT @ptr = TEXTPTR(campo_text) FROM prueba WHERE idtexto = 3

UPDATETEXT prueba.campo_text @ptr 0 NULL @a
UPDATETEXT prueba.campo_text @ptr 3000 NULL @b
UPDATETEXT prueba.campo_text @ptr 6000 NULL @c

SELECT DATALENGTH(campo_text) AS Longitud, campo_text FROM prueba


Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
Respuesta Responder a este mensaje
#7 Jesus Suarez
27/10/2005 - 18:19 | Informe spam
muchisimas gracias, todo perfecto,
muchas gracias

"Rubén Vigón" escribió en el mensaje
news:
Hola de nuevo, Jesús

Te he preparado un pequeño ejemplo; está basado en una base de datos
«pruebas», con una tabla «prueba» con dos campos «idtexto» (int) y
«campo_text» (text). Declaro 3 variables varchar(3000) en las que almaceno
3.000 caracteres 'a', 3.000 caracteres 'b' y 3.000 caracteres 'c' y
posteriormente uso TEXTPTR y UPDATETEXT para concatenar estas 3 variables en
el campo «text» y dejarlo con 9.000 caracteres:


USE pruebas
DECLARE @a varchar(3000), @b varchar(3000), @c varchar(3000)
DECLARE @ptr varbinary(16)

SELECT @a = REPLICATE('a', 3000), @b = REPLICATE('b', 3000), @c =
REPLICATE('c', 3000)

SELECT @ptr = TEXTPTR(campo_text) FROM prueba WHERE idtexto = 3

UPDATETEXT prueba.campo_text @ptr 0 NULL @a
UPDATETEXT prueba.campo_text @ptr 3000 NULL @b
UPDATETEXT prueba.campo_text @ptr 6000 NULL @c

SELECT DATALENGTH(campo_text) AS Longitud, campo_text FROM prueba


Un saludo!

Rubén Vigón
Microsoft MVP Visual Basic
http://vigon.mvps.org
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida