Exclusão em tabelas

Delphi

01/05/2008

Pessoal

Em um desenvolvimento de software onde exista duas tabelas:
Tabela mestre e tabela detalhe. Se caso deletar um registro da tabela mestre deveria ficar se existe algum relacionamento com a detalhe..

Qual a melhor forma de tratar isso ? Usando reconcillie Error ???

Estou usando BDS2006 e Firebird 2.0

Rogério


Rogeranalista

Rogeranalista

Curtidas 0

Respostas

Edilcimar

Edilcimar

01/05/2008

eu apago primeiro a tabela detalhe para depois apagar a mestre


GOSTEI 0
Dbergkamps10

Dbergkamps10

01/05/2008

Olá,
No Evento BeforeDelete do IBTable ou do componente q vc esteja usando, coloque um código SQL para verificar se existe os registros detalhes com o ID do tabela mestre. E só depois confirmar a exclusão.
Acho q eh assim 8)

Att
Dalton


GOSTEI 0
Mazzi

Mazzi

01/05/2008

Pra mim com certeza não!

Mas depende da sua regra de negocios, para vc mesmo poder responder se é necessário algum tipo de ´proteção´ contra-deleção do Usuario....

Eu uso nesses casos a propria regra do Banco de dados:
-1- Qdo eu quero que apague tbMaster e Detais = Uso ´[b:f7c08657c4]on delete cascade[/b:f7c08657c4]´ nas tb filhas;

-2- Outro ambiente é qdo nao quero que o usuario faça um ´erro´ e apagar sem querer... um registro que comprometeria o restante.. ai não uso o on delete cascade e , faço como o nosso amigo [b:f7c08657c4]Edelcimar[/b:f7c08657c4], disse:
--[b:f7c08657c4]apago todas filhas antes...(registros relacionados).[/b:f7c08657c4]


Abraços.


GOSTEI 0
POSTAR