Auto Incremento com Relacao

19/07/2004

0

Fala pessoal,

Estou com um problema. Eu tenho uma tabela com uma PK concatenada. O primeiro campo é uma FK, e o segundo um campo Identity. Eu queria saber se é possivel fazer o auto incremento com relação ao primeiro campo, por exemplo, se o primeiro campo tiver valor 1, o auto incremento vai de 1 até N. Se o primeiro campo tiver valor 2 , mesma coisa. Ex:

campo 1 campo 2
1 1
1 2
2 1
2 2
3 1

assim por diante ...

quem puder me ajudar , obrigado !


Felipe_cduarte

Felipe_cduarte

Responder

Posts

19/07/2004

Marcus.magalhaes

Bom dia Felipe,

a resposta é não, pq as colunas, apesar de fazerem parte de uma chave, são independentes, a solução seria vc fazer o incremento na mão.

MAS COMO EU JÁ HAVIA RESPONDIDO PARA OUTRA PESSOA DESTE CHAT (Marcos.Rio), NÃO VEJO ESTA SOLUÇÃO COM BONS OLHOS PORQUE SE VC TIVER CONEXÕES SIMULTÂNES INSERINDO O MESMO 1o. CAMPO, VC PODERÁ TER UM ERRO DE CHAVE DUPLICADA, ALÉM DE TER PROBLEMAS DE PERFORMANCE POR ESTAR, A CADA INSERT, FAZENDO UM TABLE SCAN OU [CLUSTERED] INDEX SCAN, O QUE CAUSA UMA DEGRADAÇÃO MUITO GRANDE NO SISTEMA E IRÁ TRAZER [b:bb551835ec]MUITA[/b:bb551835ec] DOR DE CABEÇA DEPOIS.

Att,


Responder

20/07/2004

Felipe_cduarte

Bom dia Marcus,

primeiramente obrigado pela resposta. Mas volto com uma pergunta: qual seria então a melhor solução? usar o campo 2 como chave da tabela e deixar o campo 1 somente com a restrição de chave estrangeira ?

[]´s,


Responder

20/07/2004

Marcus.magalhaes

Bom dia Felipe.

O melhor é utilizar os dois campos como chave, pq qdo vc for fazer a pesquisa, certamente será pelo campo 1, assim ele já estará no índice, que deve ser clustered.

Obs.: Toda FK que vc criar, deve ser um índice ou fazer parte dele, pois assim a pesquisa será mais rápida.

Att,


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar