Insert Masivo con correlativo

24/06/2008 - 21:04 por Penta | Informe spam
Estimados.
Utilizo SS2000 SP4

Tengo una consulta donde el resultado son 100 codigos de clientes y
necesito insertar los datos en la tabla Historia, la tabla historia
tiene un campo lamado correlativo, donde el campo lamentablemente no
esta como identidad, ya va en el 35100 la idea es insertar los nuevos
100 registros con el correlativo correspondiente.
Ya tengo una solucion, pero quede con la duda de porque motivo la
funcion IDENTITY no me acepta pasar el dato como un max(campo)+1 o con
una variable @correlativo

SELECT IDENTITY(int, 35100,1) AS ID_Num
INTO NewTable
FROM Clientes

Como veran trate de reemplazar el dato 35100 por un max(campo)+1 o por
una variable que ya contiene el valor @correlativo.

Me marca ERROR.

Atte.
Penta.
 

Leer las respuestas

#1 Gux (MVP)
24/06/2008 - 21:59 | Informe spam
No tengo ahora un SQL Server a mano para probar... pero si no recuerdo mal
los valores de los argumentos de la función IDENTITY tienen que ser
constantes. No se admiten expresiones de ningún tipo.

Gustavo Larriera, Microsoft MVP
http://www.linkedin.com/in/gustavolarriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Penta" wrote:

Estimados.
Utilizo SS2000 SP4

Tengo una consulta donde el resultado son 100 codigos de clientes y
necesito insertar los datos en la tabla Historia, la tabla historia
tiene un campo lamado correlativo, donde el campo lamentablemente no
esta como identidad, ya va en el 35100 la idea es insertar los nuevos
100 registros con el correlativo correspondiente.
Ya tengo una solucion, pero quede con la duda de porque motivo la
funcion IDENTITY no me acepta pasar el dato como un max(campo)+1 o con
una variable @correlativo

SELECT IDENTITY(int, 35100,1) AS ID_Num
INTO NewTable
FROM Clientes

Como veran trate de reemplazar el dato 35100 por un max(campo)+1 o por
una variable que ya contiene el valor @correlativo.

Me marca ERROR.

Atte.
Penta.


Preguntas similares