Actualizar campor tipo "Text" en SQLServer

08/10/2003 - 12:08 por Juan | Informe spam
Hola a todos,

tengo una BD en SQL Server 2000. Una de las tablas tiene un campo tipo Text
cuyo valor es un archivo XML. Uno de los parámetros del XML es una ruta.
El caso es que tengo que añadir un texto a la ruta que está en ese archivo
XML. La ruta está precedida de almohadilla (#) y la ruta termina con unas
comillas ("). Lo que debería hacer sería buscar ese texto, y sustituirlo por
almohadilla (#) + nueva carpeta + ruta antigua + comillas (").

EL caso es que no tengo ni idea de cómo hacer esto.

Para complicarlo más, en el caso en el que aparezca la almohadilla seguida
de las comillas (#") no debo hacer nada.

Gracias de antemano

Un saludo

Juan
 

Leer las respuestas

#1 Manuel \(Salamanca\)
08/10/2003 - 13:00 | Informe spam
Hola,
esto está sacado de los BOL:

Modificar valores ntext, text o image
Puede modificar valores ntext, text o image de las formas siguientes:

a.. Utilizando una API de bases de datos como ADO, OLE DB u ODBC para
ejecutar una instrucción UPDATE o INSERT con una variable de programa
vinculada a un marcador de parámetro para la columna ntext, text o image. A
continuación, llame a las funciones adecuadas de la API de bases de datos
para enviar datos grandes a la base de datos de bloque en bloque. DB-Library
admite la misma funcionalidad con sus funciones de text e image.


b.. Utilizando la instrucción WRITETEXT para volver a escribir el valor
completo de los datos de la columna.
Por ejemplo, en esta consulta se cambia el contenido de la columna pr_info
para New Moon Books:

USE pubs
sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books'
WRITETEXT pub_info.pr_info @ptrval 'New Moon Books (NMB) '
sp_dboption 'pubs', 'select into/bulkcopy', 'true'
c.. Utilizando la instrucción UPDATETEXT para actualizar determinados
bloques de una columna ntext, text o image.
Por ejemplo, en esta consulta se sustituye el carácter ochenta y ocho de
la columna text de New Moon Books (la segunda letra "o" en Moon) por la
letra "z":

USE pubs
sp_dboption 'pubs', 'select into/bulkcopy', 'true'
DECLARE @ptrval varbinary(16)
SELECT @ptrval = TEXTPTR(pr_info)
FROM pub_info pr INNER JOIN publishers p
ON p.pub_id = pr.pub_id
AND p.pub_name = 'New Moon Books'
UPDATETEXT pub_info.pr_info @ptrval 88 1 'z'
sp_dboption 'pubs', 'select into/bulkcopy', 'false'
Un saludo.


"Juan" escribió en el mensaje
news:bm0nmp$gkors$
Hola a todos,

tengo una BD en SQL Server 2000. Una de las tablas tiene un campo tipo


Text
cuyo valor es un archivo XML. Uno de los parámetros del XML es una ruta.
El caso es que tengo que añadir un texto a la ruta que está en ese archivo
XML. La ruta está precedida de almohadilla (#) y la ruta termina con unas
comillas ("). Lo que debería hacer sería buscar ese texto, y sustituirlo


por
almohadilla (#) + nueva carpeta + ruta antigua + comillas (").

EL caso es que no tengo ni idea de cómo hacer esto.

Para complicarlo más, en el caso en el que aparezca la almohadilla seguida
de las comillas (#") no debo hacer nada.

Gracias de antemano

Un saludo

Juan


Preguntas similares