Identity en Variables tipo Table

15/01/2004 - 20:57 por Luis Cejas | Informe spam
Hola, tengo una duda... he hecho una tabla variable con un campo Identity.
El problema que surge es que quisiera resetear el SEED y no se como hacerlo.
Les paso el codigo ej.

Declare @XT Table ( Ln Tinyint identity (1,1) , nLinea int )

Insert @xt Values (1)
Insert @xt Values (2)
Insert @xt Values (3)
Insert @xt Values (4)

Select * from @XT
Delete from @XT

Insert @xt Values (5)
Select * from @XT


Muchas gracias.
Luis

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
15/01/2004 - 21:35 | Informe spam
hasta donde yo se no se puede en tablas temporales ya que el DBCC Chekident
funciona con tablas comunes


Salu2


Maximiliano Damian Accotto


"Luis Cejas" escribió en el mensaje
news:
Hola, tengo una duda... he hecho una tabla variable con un campo


Identity.
El problema que surge es que quisiera resetear el SEED y no se como


hacerlo.
Les paso el codigo ej.

Declare @XT Table ( Ln Tinyint identity (1,1) , nLinea int )

Insert @xt Values (1)
Insert @xt Values (2)
Insert @xt Values (3)
Insert @xt Values (4)

Select * from @XT
Delete from @XT

Insert @xt Values (5)
Select * from @XT


Muchas gracias.
Luis


Respuesta Responder a este mensaje
#2 Isaías
15/01/2004 - 21:49 | Informe spam
Como dice Max, utilice el DBCC CHECKIDENT, aunque no le
veo la logica al codigo, pero.

Aunque aclaro, yo no lo hice con un DECLARE, si no con un
CREATE

create table #XT ( Ln Tinyint identity (1,1) , nLinea
int )

Insert #XT Values (1)
Insert #XT Values (2)
Insert #XT Values (3)
Insert #XT Values (4)

Select * from #XT
Delete #XT
dbcc checkident (#XT,RESEED, 4)
Insert #XT Values (5)
Select * from #XT
Respuesta Responder a este mensaje
#3 Maximiliano D. A.
15/01/2004 - 21:57 | Informe spam
Isaias el DBCC Checkident no funciona con variables de tablas por eso te
funciona con temporales.
probalo y veras ;-)

Salu2

Maximiliano Damian Accotto

"Isaías" escribió en el mensaje
news:049201c3dba9$1f4fb820$
Como dice Max, utilice el DBCC CHECKIDENT, aunque no le
veo la logica al codigo, pero.

Aunque aclaro, yo no lo hice con un DECLARE, si no con un
CREATE

create table #XT ( Ln Tinyint identity (1,1) , nLinea
int )

Insert #XT Values (1)
Insert #XT Values (2)
Insert #XT Values (3)
Insert #XT Values (4)

Select * from #XT
Delete #XT
dbcc checkident (#XT,RESEED, 4)
Insert #XT Values (5)
Select * from #XT

Respuesta Responder a este mensaje
#4 Luis Cejas
15/01/2004 - 22:10 | Informe spam
Maximiliano: Muchas gracias igual.

Isaías: Creo que hablamos de dos cosas diferentes.. con "create table #XT"
lo que hago es crearla fisicamente en Tempdb y si de esa manera funciona
como en cualquier tabla, pero con "Declare @XT Table" la creo en la memoria
del servidor.
Aclaro que el código fue simplemente de ejemplo para que entiendan mi
problema... lamento que no lo hayas entendido de esa manera.

Gracias igual a todos.
Luis





Isaías escribió en mensaje <049201c3dba9$1f4fb820$...
Como dice Max, utilice el DBCC CHECKIDENT, aunque no le
veo la logica al codigo, pero.

Aunque aclaro, yo no lo hice con un DECLARE, si no con un
CREATE

create table #XT ( Ln Tinyint identity (1,1) , nLinea
int )

Insert #XT Values (1)
Insert #XT Values (2)
Insert #XT Values (3)
Insert #XT Values (4)

Select * from #XT
Delete #XT
dbcc checkident (#XT,RESEED, 4)
Insert #XT Values (5)
Select * from #XT

Respuesta Responder a este mensaje
#5 Maximiliano D. A.
15/01/2004 - 22:14 | Informe spam
Luis, si creas la tabla de forma en memoria como una variable no podes
reiniciar el Identity como te mostre en el comando DBCC.

ahora ojo con esto, que si la tabla pesa mucho consumiras mucha ram y eso no
es nada bueno, como siempre para cada caso hay que estudiar bien que
solucion es mejor que cual

Salu2

Maximiliano Damian Accotto


"Luis Cejas" escribió en el mensaje
news:
Maximiliano: Muchas gracias igual.

Isaías: Creo que hablamos de dos cosas diferentes.. con "create table #XT"
lo que hago es crearla fisicamente en Tempdb y si de esa manera funciona
como en cualquier tabla, pero con "Declare @XT Table" la creo en la


memoria
del servidor.
Aclaro que el código fue simplemente de ejemplo para que entiendan mi
problema... lamento que no lo hayas entendido de esa manera.

Gracias igual a todos.
Luis





Isaías escribió en mensaje <049201c3dba9$1f4fb820$...
>Como dice Max, utilice el DBCC CHECKIDENT, aunque no le
>veo la logica al codigo, pero.
>
>Aunque aclaro, yo no lo hice con un DECLARE, si no con un
>CREATE
>
>create table #XT ( Ln Tinyint identity (1,1) , nLinea
>int )
>
>Insert #XT Values (1)
>Insert #XT Values (2)
>Insert #XT Values (3)
>Insert #XT Values (4)
>
>Select * from #XT
>Delete #XT
>dbcc checkident (#XT,RESEED, 4)
>Insert #XT Values (5)
>Select * from #XT
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida