SQL - campo ydentity

 
Vista:

campo ydentity

Publicado por juan (3 intervenciones) el 23/06/2006 01:52:13
hola :
1-estoy haciendo una copia de tablas SELECT * into vartabla from table1pero la tabla no sale con los indices ni llaves como puedo hacer eso.
a estas tablas les hago TRUNCATE

2.una de las tablas tiene un campo Identity como puedo hacer para volver el ultimo numero que quedo anteriormente al campo identity.

por ejemplo el campo identity quedo en 100
y despues le hago TRUNCATE a la tabla ,
como hago para que la nueva tabla siga con ese correlativo
pues yo inserto un registro y el identity aumenta en 1 pero deveria continuar en 101
como puedo hacer para hacer esto.
gracias
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

RE:campo ydentity

Publicado por Urrunaga (15 intervenciones) el 23/06/2006 05:53:15
Si realizas un SELECT INTO solo lograras que el SQL guarde la data seleccionada en una copia simple no con todas sus atributos internas por no decir solo indices.
Si quieres crearlo con indices tendiras que relziar su respectivo CREATE TABLE TMPXXXX definir de nuevo lo campos e indices,pero para evitar eso mejor porque no dejas ya la tabla creada con indices y todo, asi te evitas de complicaciones si al ultimo le haces TRUNCATE a la tabla.

Para obtener el ultimo numero del secuencial usado en tu tabla usas

DECLARE @n_ultimo_valor int
SELECT @n_ultimo_valor=IDENT_CURRENT('tmptabla')
SELECT @n_ultimo_valor

Esto te devolvera el ultimo valor utilizado en la columna identity de la tabla, ojo que lo
tienes que hacer antes del TRUNCATE TABLE.

Si quieres volver a utilizar ese valor de aqui en adelante utilizas

Alter table tmptabla drop column n_campo_secuencial int
Alter table tmptabla add n_campo_secuencial int identity(@n_ultimo_valor,1)

Si el valor de la tabla se quedo en 8 con ese numero comenzara despues del INSERT que le hagas.

Espero te sirva.

Saludos
CU
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