terça-feira, 17 de março de 2015

Identity - Campo auto incremento.

Criando uma tabela com um campo auto incremento:


create table veiculo(

id int identity(1,1) not null,

modelo varchar(50),

constraint pk_veiculo primary key clustered (id desc)

);


aqui informamos onde inicia nossa contagem e qual o valor que sera incrementado ao inserirmos uma informação.


Nesta linha "id int identity(1,1) not null," temos a informação que faz o controle do auto incremento, este trecho deve ser preenchido desta forma: "identity(inicio, incremento)".


Inserindo os dados na tabela.


insert into veiculo values('Palio');

insert into veiculo values('Prisma');

insert into veiculo values('Classic');



Podemos observar que não foi necessário incluirmos o valor do campo "id", esta campo é inserido automaticamente pois informamos isso na criação da nossa tabela.


Se realizarmos a consulta abaixo:


select * from veiculo


Teremos o seguinte resultado:



Com o resultado da consulta acima vemos que o campo "id" se inicia em 1 e vai incrementando mais 1 a cada nova inserção, a nossa consulta se inicia a partir do 3 porque o nosso índice foi criado de forma decrescente.


Como descobrir quais tabelas tem o "identity" ativo.


SELECT obj.name, obj.modify_date, c.is_identity FROM sys.columns c

join sys.objects obj on obj.object_id = c.object_id

where c.is_identity = 1

order by obj.name




Nenhum comentário:

Postar um comentário