Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

brualfa

Identity

Recommended Posts

Olá galera.

 

Estou com uma duvida no comando Identity.

 

Ao fazer este comando insert :

 

INSERT INTO ANIMAIS(TIPO_ANIMAL,NOME_ANIMAL,IDADE_ANIMAL,VALOR_ANIMAL)

VALUES('Cachorro','Djudi',3,300.00)

 

decidi fazer um teste para verificar se a constraint de Unique estava funiconando, então repeti este

comando para verificar se ele iria bloquear esta inserção, funcionou tudo certinho, mas quando dei um

select na tabela verifiquei que ele havia pulado sua sequencia.

 

Tirei a conclusão de que foi por causa do teste que fiz.

Mas como arrumar isso? A sequência dos registros ficou assim : (1,2,4,5).

 

Aceito conselhos e explicações de como agir nestas situações.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, não tem como impedir isso. Sempre que uma operação insert -bem sucedida ou não- é direcionada pra uma tabela, o IDENTITY incrementa ;)

 

O que você pode fazer, é checar se existe antes, assim:

 

IF NOT EXISTS(SELECT TOP 1 NOME_ANIMAL FROM ANIMAIS WHERE NOME = 'Djudi')

INSERT INTO ANIMAIS(TIPO_ANIMAL,NOME_ANIMAL,IDADE_ANIMAL,VALOR_ANIMAL)

VALUES('Cachorro','Djudi',3,300.00)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.