Auto Incremento com Relacao
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 !
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
Curtidas 0
Respostas
Marcus.magalhaes
19/07/2004
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,
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,
GOSTEI 0
Felipe_cduarte
19/07/2004
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,
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,
GOSTEI 0
Marcus.magalhaes
19/07/2004
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,
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,
GOSTEI 0