autoincrement

09/05/2005 - 23:17 por Mauro | Informe spam
pregunta:
que pasa con una clave primaria autoincrement que llega al final de la
capacidad del campo, ej tinyint.
deja de insertar registros? utiliza los ids de los registros borrados?...

Preguntas similare

Leer las respuestas

#1 Isaias Islas
09/05/2005 - 23:33 | Informe spam
Hola Mauro

Hice una prueba

CREATE TABLE #BORRAR (INCREMENTO tinyint IDENTITY(1,1), NUMERACION INT)
DECLARE @CONTADOR INT
SET @CONTADOR = 1
WHILE @CONTADOR < 300
BEGIN
INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
CONTINUE
END

Al llegar al 256, me envia este mensaje de error.

Server: Msg 8115, Level 16, State 1, Line 6
Arithmetic overflow error converting IDENTITY to data type tinyint.
Arithmetic overflow occurred.
Respuesta Responder a este mensaje
#2 Maxi
10/05/2005 - 14:06 | Informe spam
Hola, crealo con INT asi mira:

CREATE TABLE #BORRAR (INCREMENTO INT IDENTITY(1,1), NUMERACION INT)
DECLARE @CONTADOR INT
SET @CONTADOR = 1
WHILE @CONTADOR < 300
BEGIN
INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
CONTINUE



Salu2
Maxi


"Isaias Islas" escribió en el mensaje
news:
Hola Mauro

Hice una prueba

CREATE TABLE #BORRAR (INCREMENTO tinyint IDENTITY(1,1), NUMERACION INT)
DECLARE @CONTADOR INT
SET @CONTADOR = 1
WHILE @CONTADOR < 300
BEGIN
INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
CONTINUE
END

Al llegar al 256, me envia este mensaje de error.

Server: Msg 8115, Level 16, State 1, Line 6
Arithmetic overflow error converting IDENTITY to data type tinyint.
Arithmetic overflow occurred.


Respuesta Responder a este mensaje
#3 Mauro
10/05/2005 - 14:27 | Informe spam
Muy lindas las pruebas pero que pasa, si se borran algunos registros viejos?
se pueden ocupar esos lugares?
"Maxi" wrote in message
news:
Hola, crealo con INT asi mira:

CREATE TABLE #BORRAR (INCREMENTO INT IDENTITY(1,1), NUMERACION INT)
DECLARE @CONTADOR INT
SET @CONTADOR = 1
WHILE @CONTADOR < 300
BEGIN
INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
CONTINUE



Salu2
Maxi


"Isaias Islas" escribió en el mensaje
news:
> Hola Mauro
>
> Hice una prueba
>
> CREATE TABLE #BORRAR (INCREMENTO tinyint IDENTITY(1,1), NUMERACION INT)
> DECLARE @CONTADOR INT
> SET @CONTADOR = 1
> WHILE @CONTADOR < 300
> BEGIN
> INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
> CONTINUE
> END
>
> Al llegar al 256, me envia este mensaje de error.
>
> Server: Msg 8115, Level 16, State 1, Line 6
> Arithmetic overflow error converting IDENTITY to data type tinyint.
> Arithmetic overflow occurred.
>
>


Respuesta Responder a este mensaje
#4 Maxi
10/05/2005 - 15:07 | Informe spam
No, esa es una propiedad del Identity, sino no uses identies, mirate este
link

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


Salu2
Maxi


"Mauro" escribió en el mensaje
news:
Muy lindas las pruebas pero que pasa, si se borran algunos registros
viejos?
se pueden ocupar esos lugares?
"Maxi" wrote in message
news:
Hola, crealo con INT asi mira:

CREATE TABLE #BORRAR (INCREMENTO INT IDENTITY(1,1), NUMERACION INT)
DECLARE @CONTADOR INT
SET @CONTADOR = 1
WHILE @CONTADOR < 300
BEGIN
INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
CONTINUE



Salu2
Maxi


"Isaias Islas" escribió en el mensaje
news:
> Hola Mauro
>
> Hice una prueba
>
> CREATE TABLE #BORRAR (INCREMENTO tinyint IDENTITY(1,1), NUMERACION INT)
> DECLARE @CONTADOR INT
> SET @CONTADOR = 1
> WHILE @CONTADOR < 300
> BEGIN
> INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
> CONTINUE
> END
>
> Al llegar al 256, me envia este mensaje de error.
>
> Server: Msg 8115, Level 16, State 1, Line 6
> Arithmetic overflow error converting IDENTITY to data type tinyint.
> Arithmetic overflow occurred.
>
>






Respuesta Responder a este mensaje
#5 Alejandro Mesa
10/05/2005 - 15:11 | Informe spam
Mauro,

Muy lindas las pruebas pero que pasa, si se borran algunos registros viejos?
se pueden ocupar esos lugares?



Si los insertas manualmente si. SQL Server no reutiliza los valores no
presentes de una columna identity.


AMB


"Mauro" wrote:

Muy lindas las pruebas pero que pasa, si se borran algunos registros viejos?
se pueden ocupar esos lugares?
"Maxi" wrote in message
news:
> Hola, crealo con INT asi mira:
>
> CREATE TABLE #BORRAR (INCREMENTO INT IDENTITY(1,1), NUMERACION INT)
> DECLARE @CONTADOR INT
> SET @CONTADOR = 1
> WHILE @CONTADOR < 300
> BEGIN
> INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
> CONTINUE
>
>
>
> Salu2
> Maxi
>
>
> "Isaias Islas" escribió en el mensaje
> news:
> > Hola Mauro
> >
> > Hice una prueba
> >
> > CREATE TABLE #BORRAR (INCREMENTO tinyint IDENTITY(1,1), NUMERACION INT)
> > DECLARE @CONTADOR INT
> > SET @CONTADOR = 1
> > WHILE @CONTADOR < 300
> > BEGIN
> > INSERT INTO #BORRAR (NUMERACION) VALUES(@CONTADOR)
> > CONTINUE
> > END
> >
> > Al llegar al 256, me envia este mensaje de error.
> >
> > Server: Msg 8115, Level 16, State 1, Line 6
> > Arithmetic overflow error converting IDENTITY to data type tinyint.
> > Arithmetic overflow occurred.
> >
> >
>
>



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