Forums Últimos mensajes - Powered by IBM
 

Campo Autonumérico

09/08/2005 - 14:12 por Mennegguzzi | Informe spam
Hola a todos, una consulta,
qué tipo de dato debe llevar un campo para que sea autonumérico, o sea que
yo no le tenga que cargar el dato sino que vaya autonumerando a medida que
inserto filas ?


aparte, si defino un campo como autonumérico, los datos que se carguen van a
ser números consecutivos a medida que se inserten filas, que pasa si elimino
una fila, ese número se elimina, no?
por ej.

la tabla tiene 10 registros, donde el campo Auto va del 1 al 10, si elimino
el 4, cuando cargue unos más el campo Auto va a tomar el valor 11, o estoy
equivocado?


desde ya muchas gracias por la ayuda y la paciencia

saludos

Pablo
 

Leer las respuestas

#1 Alejandro Mesa
09/08/2005 - 15:09 | Informe spam
Mennegguzzi,

qué tipo de dato debe llevar un campo para que sea autonumérico, o sea que
yo no le tenga que cargar el dato sino que vaya autonumerando a medida que
inserto filas ?



tinyint, smallint, int, bigint, decimal / numeric con escala igual cero.

aparte, si defino un campo como autonumérico, los datos que se carguen van a
ser números consecutivos a medida que se inserten filas, que pasa si elimino
una fila, ese número se elimina, no?

la tabla tiene 10 registros, donde el campo Auto va del 1 al 10, si elimino
el 4, cuando cargue unos más el campo Auto va a tomar el valor 11, o estoy
equivocado?



Estas en lo correcto. No solamente si se elimina una fila, tambien pueden
haber huecos o gaps si la transaccion falla.

Ejemplo:

create table t1 ( c1 int not null identity(1, 1) unique)
go

insert into t1 default values
insert into t1 default values
insert into t1 default values
delete t1 where c1 = 2
go

begin transaction
insert into t1 default values
insert into t1 default values
insert into t1 default values
rollback transaction
go

insert into t1 default values
go

select * from t1
go

drop table t1
go


AMB

"Mennegguzzi" wrote:

Hola a todos, una consulta,
qué tipo de dato debe llevar un campo para que sea autonumérico, o sea que
yo no le tenga que cargar el dato sino que vaya autonumerando a medida que
inserto filas ?


aparte, si defino un campo como autonumérico, los datos que se carguen van a
ser números consecutivos a medida que se inserten filas, que pasa si elimino
una fila, ese número se elimina, no?
por ej.

la tabla tiene 10 registros, donde el campo Auto va del 1 al 10, si elimino
el 4, cuando cargue unos más el campo Auto va a tomar el valor 11, o estoy
equivocado?


desde ya muchas gracias por la ayuda y la paciencia

saludos

Pablo



Preguntas similares