SQL Server - Ayuda con INSERT

 
Vista:

Ayuda con INSERT

Publicado por Henry (15 intervenciones) el 01/03/2019 20:16:34
Hola necesito de su ayuda.

Tengo una base de datos en SQL 2008, y una nueva en SQL 2014, desde VisualFoxPro estoy haciendo un insert de una a otra y lo hace bien.

Lo que necesito es que el campo primario llamado "id_estudiante" sea el mismo al insertarlo en la tabla de SQL 2014.

La reseteo en cero con :

DBCC CHECKIDENT ('matricula.dbo.Alumnos',RESEED, 0)

Pero no me permite insertar los datos como la tabla1 que por cierto comienza con los registros:
97, 99,100, 126,129 etc osea tiene huecos en los ID.

He probado usando:

SET IDENTITY_INSERT [matricula].[dbo].[Alumnos] ON

Pero no tengo idea de que poder hacer para que la tabla 2 me permita ingresar los ID en el orden que sea, y luego si a partir del ultimo que comience con el orden del ID.

Agradezco la ayuda o ideas de como poder lograr esto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con INSERT

Publicado por Isaias (4558 intervenciones) el 03/03/2019 22:54:24
¿Cual es el mensaje del error?, Según veo, usted intenta insertar registros sobre una tabla que tiene un campo con propiedad IDENTITY, esto se resuelve como usted indica:

SET IDENTITY_INSERT [matricula].[dbo].[Alumnos] ON

¿Cual es el mensaje de error?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Emilio
Val: 16
Ha aumentado su posición en 3 puestos en SQL Server (en relación al último mes)
Gráfica de SQL Server

Ayuda con INSERT

Publicado por Emilio (2 intervenciones) el 04/03/2019 03:37:15
Trabajar con Identity de esa forma es un dolor de cabeza. Lo único que se me ocurre es que le quites la propiedad Identity a la segunda tabla y la inserción la manejes manualmente, es decir cada vez que hagas un insert primero averiguas cual es el ultimo correlativo y le sumas uno al momento de hacer el insert.
Haces un select con MAX(Id_estudiante) + 1 as SiguienteCorrelativo , pero tenes que validar también manualmente que este numero no exista.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar