Exclusão em tabelas
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
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
Curtidas 0
Respostas
Edilcimar
01/05/2008
eu apago primeiro a tabela detalhe para depois apagar a mestre
GOSTEI 0
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
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
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.
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