Copiar Campos Image entre tablas

Saludos:
Tengo dos tablas, una temporal donde se almacenan registros y otra tabla donde quedan registradas las imágenes finales, ambas en SQL server 2000, mi problema es al momento de ejecutar un proc. Almac. Donde copio los temporales a las tablas finales, se corrompen los datos y ya no tengo las imágenes validas. ¿Qué rutina o funciones debo utilizar para copiar campos image entre ambas tablas?
Gracias.

1 respuesta

Respuesta
1
Checa en los libros en pantalla de ayuda de sql server:
Modificar valores ntext, text o image
Puede modificar valores ntext, text o image de las formas siguientes:
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.
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'
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'
Véase también
Writetext
Updatetext
Managing Long Data Types
BLOBs and OLE Objects
Managing text and image Columns
Text and Image Functions
©1988-2001 Microsoft Corporation. Reservados todos los derechos.
Referencia de Transact-SQL
Writetext
Permite la actualización interactiva y sin registrar de una columna text, ntext o image existente. Esta instrucción sobrescribe completamente los datos existentes en la columna afectada. No se puede utilizar WRITETEXT en columnas text, ntext e image de vistas.
Sintaxis
WRITETEXT { table.column text_ptr }
[ WITH LOG ] { data }
Argumentos
Table. Column
Es el nombre de la tabla y de la columna text, ntext o image que se va a actualizar. Los nombres de tablas y columnas se deben ajustar a las reglas de los identificadores. Para obtener más información, consulte Utilizar identificadores. La especificación de los nombres de la base de datos y del propietario es opcional.
text_ptr
Se trata de un valor que almacena el puntero que señala a los datos text, ntext o image. El argumento text_ptr debe ser del tipo de datos binary(16). Para crear un puntero de texto, ejecute una instrucción INSERT o UPDATE con datos que no sean NULL (nulos) para la columna text, ntext o image. Para obtener más información sobre cómo crear un puntero de texto, consulte INSERT o UPDATE.
WITH LOG
¿Se pasa por alto en Microsoft® SQL Server? 2000. El registro viene determinado por el modelo de recuperación que se aplica para la base de datos.
Data
Son los datos reales de tipo text, ntext o image que se van a guardar. Data puede ser un literal o una variable. La longitud máxima de texto que se puede insertar interactivamente con WRITETEXT es de 120 KB aproximadamente para datos de tipo text, ntext e image.
Observaciones
Utilice WRITETEXT para reemplazar datos de tipo text, ntext e image, y UPDATETEXT para modificar datos de tipo text, ntext e image. UPDATETEXT es más flexible debido a que cambia sólo una parte de una columna text, ntext o image en lugar de la col

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas