Identity

18/10/2006 - 01:05 por Bernardo Canales | Informe spam
Hola señores :
Disculpen la pregunta que quizas suene hasta de ignorante, pero estoy
empezando en temas SQL.
La consulta es la siguiente :
Tengo un campo marcado como IDENTITY, este genera un autonumerico cuando voy
insertando registros, pero me he encontrado con que si yo elimino registros,
el incremento lo toma desde todo lo que he insertado, por ejemplo :
Si agregue 20 registros y depues los elimino e inserto 20 registros mas, el
campo IDENTITY me toma como ultimo numero de registro 40.
Como se puede hacer para que tome solo 20 ??, hay que renumerar ??

Muchas gracias.

Preguntas similare

Leer las respuestas

#1 César Duarte Mora
18/10/2006 - 04:49 | Informe spam
Hola,

Es correcto lo que dices compañero. La única forma que conozco para hacer
esto sin tener que borrar la tabla y recrearla o acciones por el estilo es
que después que borre los primeros 20 registros te vayas el Enterprise
Manager y le indiques que la columna ya no es IDENTITY, guardas los cambios
y de nuevo le vuelves a indicar que si es IDENTITY. De esta forma cuando
insertes los siguientes 20 registros te iniciará en el SEED que le hayas
indicado.

Saludos,

MCP César Duarte Mora
Consultor de Inteligencia de Negocios
Microsoft Student Partner, Costa Rica
SoftechCR.NET Lead
Blog: cfdmo.blogspot.com

"Bernardo Canales" wrote in message
news:
Hola señores :
Disculpen la pregunta que quizas suene hasta de ignorante, pero estoy
empezando en temas SQL.
La consulta es la siguiente :
Tengo un campo marcado como IDENTITY, este genera un autonumerico cuando
voy insertando registros, pero me he encontrado con que si yo elimino
registros, el incremento lo toma desde todo lo que he insertado, por
ejemplo :
Si agregue 20 registros y depues los elimino e inserto 20 registros mas,
el campo IDENTITY me toma como ultimo numero de registro 40.
Como se puede hacer para que tome solo 20 ??, hay que renumerar ??

Muchas gracias.

Respuesta Responder a este mensaje
#2 Federico Ezequiel
18/10/2006 - 05:02 | Informe spam
Bernardo:

Las columnas Identity funcionan así, no hay vuelta que darle. Deberías
intentar con otra posibilidad, utilizando algún procedimiento almacenado y/o
función que tome la cantidad de filas que tiene la tabla (select COUNT(*)
from Tabla) y cargue al llamar el Insert un valor en la primer columna, por
ejemplo, que comience con el último número de esa columna + 1.
Fijáte si te sirve así, quizá te pueda ayudar a crear el SP y/o función.

Federico


"Bernardo Canales" escribió en el mensaje
news:
Hola señores :
Disculpen la pregunta que quizas suene hasta de ignorante, pero estoy
empezando en temas SQL.
La consulta es la siguiente :
Tengo un campo marcado como IDENTITY, este genera un autonumerico cuando
voy insertando registros, pero me he encontrado con que si yo elimino
registros, el incremento lo toma desde todo lo que he insertado, por
ejemplo :
Si agregue 20 registros y depues los elimino e inserto 20 registros mas,
el campo IDENTITY me toma como ultimo numero de registro 40.
Como se puede hacer para que tome solo 20 ??, hay que renumerar ??

Muchas gracias.

Respuesta Responder a este mensaje
#3 Maxi
18/10/2006 - 14:09 | Informe spam
Hola, los identitis funcionan asi y por eso no se deberian usar para numerar
por ej documentos, a ti no te deberia importar esto del identity, si estas
teniendo problemas es porque estas usando un campo identity como valor id,
te recomiendo que leas este link

http://www.microsoft.com/spanish/ms...art187.asp

Si quieres reinicar un identoity no es necesario borrar la tabla sino usar:

DBCC CHECKIDENT


Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker

"Bernardo Canales" escribió en el mensaje
news:
Hola señores :
Disculpen la pregunta que quizas suene hasta de ignorante, pero estoy
empezando en temas SQL.
La consulta es la siguiente :
Tengo un campo marcado como IDENTITY, este genera un autonumerico cuando
voy insertando registros, pero me he encontrado con que si yo elimino
registros, el incremento lo toma desde todo lo que he insertado, por
ejemplo :
Si agregue 20 registros y depues los elimino e inserto 20 registros mas,
el campo IDENTITY me toma como ultimo numero de registro 40.
Como se puede hacer para que tome solo 20 ??, hay que renumerar ??

Muchas gracias.

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