 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
gutonovaes19 Novato

Registrado: Quarta-Feira, 18 de Junho de 2008 Mensagens: 50
|
Enviada: Sex Dez 08, 2017 10:52 am Assunto: Master Detail Modificar chave primaria |
|
|
Tenho um cadastro do tipo master detail. A chave primaria da tabela pai é composta (codigo + data). A tabela filha possui PK codigo+ data+item.
Montado com query+provider+ clientedataset.
As perguntas são:
1 - posso modidicar a chave primaria da MASTER e replicar na DETAIL? Meu cliente que modificar o campo DATA
2 - Tenho uma apostila de um curso que fiz com o Eduardo Rocha anos atras. Nela, não há exemplos dessa situação e em determinado trecho ele afirma que a chave primaria nunca será modificada. Não está claro pra mim se era no contexto do treinamento ou se é algo proibitivo.
Curso Desenvolvendo uma aplicação utilizando ClientDataset, DbExpress e Firebird.
Por favor, não critiquem o modelo, é um sistema legado. |
|
| Voltar ao Topo |
|
 |
lokasso Aprendiz

Registrado: Terça-Feira, 11 de Abril de 2017 Mensagens: 174
|
Enviada: Sex Dez 08, 2017 3:47 pm Assunto: |
|
|
gutonovaes19 brother não é aconcelhavel tu usar chave composta em PK, ainda mais com data e muito menos muda-la. Mas enfim...
Para mudar a PK não pode ser Auto Incremento e ao invés de somente leitura no componente que está usando, no seu caso ClientDataSet, tem que deixar a propriedade Ready-Only false, ou seja, deixa-la habilitada para entrar com o valor e habilitar o dbedit que pega o ID e deixa-lo editavel, ai o usuário poderá colocar qualquer valor ali, se tiver usando generator e trigger, desabilite-os, senão vai aparecer apenas erro de violação de PK.
Aaah um conselho, já que o usuário quer mudar a PK, se prepare para o caos que virará tua vida, se não tiver jeito mesmo de contornar essa situação, faça o usuário assinar um termo de responsabilidade, onde ele se responsabiliza por eventuais conflitos no sistema e se previna, faça um backup do banco de dados antes de fazer essa modificação no banco para eventual "problema".
Boa Sorte tu vai precisar caso fizer isso, se prepare
Abraços |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|