Pasar datos de una base de datos a otra (2008-03-31)

31/03/2008 - 11:13 por Mauricio | Informe spam
Hola a todos,
es un caso sencillo. Tengo 2 bases de datos, cada una con 2 tablas
idénticas, llamdas Productos. Estas tablas solo tienen 2 campos,
IdProducto (int, identity) y Descripcion (varchar(100)). Necesito pasar
los registros de una base de datos a la otra pero el problema es que
varios campos identity van a tener el mismo número y necesito
conservarlo.
La primera idea que se me ocurrió es sumar una cantidad x al campo
Identity de la segunda tabla, haciendo algo como
UPDATE PRODUCTOS SET IdProducto = IdProducto + 10000,pero esto me da
error, aún cuando uso el SET IDENTITY_INSERT ON antes de esto.
Pregunta: puedo hacer un UPDATE del campo identity de alguna forma?
Muchas gracias a todos.

Mauricio
Copenhague, Dinamarca

Preguntas similare

Leer las respuestas

#1 Maxi
31/03/2008 - 15:54 | Informe spam
Hola, no podes hacer un update de un campo identity!

Ahora bien, porque haces un update si lo que vos necesitas es hacer un
insert?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Mauricio" escribió en el mensaje
news:
Hola a todos,
es un caso sencillo. Tengo 2 bases de datos, cada una con 2 tablas
idénticas, llamdas Productos. Estas tablas solo tienen 2 campos,
IdProducto (int, identity) y Descripcion (varchar(100)). Necesito pasar
los registros de una base de datos a la otra pero el problema es que
varios campos identity van a tener el mismo número y necesito conservarlo.
La primera idea que se me ocurrió es sumar una cantidad x al campo
Identity de la segunda tabla, haciendo algo como
UPDATE PRODUCTOS SET IdProducto = IdProducto + 10000,pero esto me da
error, aún cuando uso el SET IDENTITY_INSERT ON antes de esto.
Pregunta: puedo hacer un UPDATE del campo identity de alguna forma?
Muchas gracias a todos.

Mauricio
Copenhague, Dinamarca


Respuesta Responder a este mensaje
#2 Mauricio
31/03/2008 - 16:25 | Informe spam
Hola Maxi,
ya vi que no puedo hacer un update de un identity.
Lo del update es porque habrá valores iguales en ambas tablas y no
queríamos tener que listar los campos en el insert sino usar un SELECT
*.
Alguna sugerencia?
Gracias.

Maxi a émis l'idée suivante :
Hola, no podes hacer un update de un campo identity!

Ahora bien, porque haces un update si lo que vos necesitas es hacer un
insert?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Mauricio" escribió en el mensaje
news:
Hola a todos,
es un caso sencillo. Tengo 2 bases de datos, cada una con 2 tablas
idénticas, llamdas Productos. Estas tablas solo tienen 2 campos, IdProducto
(int, identity) y Descripcion (varchar(100)). Necesito pasar los registros
de una base de datos a la otra pero el problema es que varios campos
identity van a tener el mismo número y necesito conservarlo.
La primera idea que se me ocurrió es sumar una cantidad x al campo
Identity de la segunda tabla, haciendo algo como
UPDATE PRODUCTOS SET IdProducto = IdProducto + 10000,pero esto me da error,
aún cuando uso el SET IDENTITY_INSERT ON antes de esto.
Pregunta: puedo hacer un UPDATE del campo identity de alguna forma?
Muchas gracias a todos.

Copenhague, Dinamarca







Mauricio
Copenhague, Dinamarca
Respuesta Responder a este mensaje
#3 Maxi
31/03/2008 - 16:49 | Informe spam
Y si no queres poner los campos en el insert (que ademas es lo recomendado
en cualquier sentencia insert) y tenes valores duplicados , o bien al
identity de la otra tabla la haces iniciar de otro valor o sino no vas a
poder hacer mucho que digamos.


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Mauricio" escribió en el mensaje
news:
Hola Maxi,
ya vi que no puedo hacer un update de un identity.
Lo del update es porque habrá valores iguales en ambas tablas y no
queríamos tener que listar los campos en el insert sino usar un SELECT *.
Alguna sugerencia?
Gracias.

Maxi a émis l'idée suivante :
Hola, no podes hacer un update de un campo identity!

Ahora bien, porque haces un update si lo que vos necesitas es hacer un
insert?


-
Microsoft M.V.P en SQLServer
SQLTotal Consulting - Servicios en SQLServer
Email:
"Mauricio" escribió en el mensaje
news:
Hola a todos,
es un caso sencillo. Tengo 2 bases de datos, cada una con 2 tablas
idénticas, llamdas Productos. Estas tablas solo tienen 2 campos,
IdProducto (int, identity) y Descripcion (varchar(100)). Necesito pasar
los registros de una base de datos a la otra pero el problema es que
varios campos identity van a tener el mismo número y necesito
conservarlo.
La primera idea que se me ocurrió es sumar una cantidad x al campo
Identity de la segunda tabla, haciendo algo como
UPDATE PRODUCTOS SET IdProducto = IdProducto + 10000,pero esto me da
error, aún cuando uso el SET IDENTITY_INSERT ON antes de esto.
Pregunta: puedo hacer un UPDATE del campo identity de alguna forma?
Muchas gracias a todos.

Copenhague, Dinamarca







Mauricio
Copenhague, Dinamarca


Respuesta Responder a este mensaje
#4 Guillermo Villanueva
31/03/2008 - 17:06 | Informe spam
Podrías agregar un campo que sea BDOrigen y cuando reunas las dos bases que
la clave esté formada por ambos campos el que era identity + BDOrigen
"Mauricio" escribió en el mensaje
news:
Hola a todos,
es un caso sencillo. Tengo 2 bases de datos, cada una con 2 tablas
idénticas, llamdas Productos. Estas tablas solo tienen 2 campos,
IdProducto (int, identity) y Descripcion (varchar(100)). Necesito pasar
los registros de una base de datos a la otra pero el problema es que
varios campos identity van a tener el mismo número y necesito conservarlo.
La primera idea que se me ocurrió es sumar una cantidad x al campo
Identity de la segunda tabla, haciendo algo como
UPDATE PRODUCTOS SET IdProducto = IdProducto + 10000,pero esto me da
error, aún cuando uso el SET IDENTITY_INSERT ON antes de esto.
Pregunta: puedo hacer un UPDATE del campo identity de alguna forma?
Muchas gracias a todos.

Mauricio
Copenhague, Dinamarca


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida