[firebase-br] Mudar Chave Primaria

Rodrigo A. de Freitas rodrigo em solucoeseinformatica.com.br
Qua Dez 20 15:58:39 -03 2006


Pergunta: o código irá zerar para cada empresa nessa tabela ? algo assim:

empresa   codigo
1               1
1               2
2               1
2               2
2               3
3               1

No caso acima, você terá que fazer o seguinte:

crie um índice adicional pelo campo campo código como UNIQUE, para manter
as foreign keys com essa tabela;

dê o drop na PK.

* Se você quiser obter a situação acima e o seu campo código hoje é um
campo com valor sequencial, deverá dropar TODAS as foreign keys eescrever
um programinha para reajustar o campo código em virtude do valor do campo
EMPRESA, atualizando o valor desses dois campos em todas as tabelas
dependentes.

Recrie a PK com os campos empresa e codigo;

Verifique todas as suas tabelas dependentes, e recrie as foreign key
espelhando a nova PK de sua tabela.

Honestamente, não sei se o esforço é valido; Não seria o caso talvez de
manter a primary key como ela é hoje e criar um indice único pelos dois
campos desejados a fim de manter a integridade ??

[]'s

Rodrigo A. de Freitas
Análise & Desenvolvimento

Soluções & Informática


> Tenho uma tabela de produtos cujo chave primaria e o CODIGO, agora preciso
> incluir tambem a empresa, ficando assim:
>
> PRIMARY KEY (EMPRESA, CODIGO)
>
> alguem sabe como proceder tal alteracao, sem destruir a tabela pois tenho
> outras tabelas relacionadas
>
> obrigado
>
> Marcos
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>






Mais detalhes sobre a lista de discussão lista