Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

TheJuninho

Firebird - Delete Cascata

Recommended Posts

Bom dia.Criei uma tabela de Clientes, e uma com Endereços, para armazenar os endereços do cliente (Entrega, Cobrança, Localização). Quando criei as chaves na tabela cliente, CodEndCobrança - CodEndereço, coloquei a opção On Delete - Cascade, para quando eu excluir o cliente, o BD excluir automaticamente os Endereços.Mas naum funciona, não sei se fiz errado. Como posso fazer para o Firebird executar estas deleções??Desde já, obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

Para quem se interessou. a solução que eu encontrei foi, criar uma procedure para excluir os endereços do cliente, quando o mesmo for excluido. Segue a procedure:

 

CREATE PROCEDURE DELCLIENTES (

p_codigocliente integer)

as

declare variable p_codendentrega integer;

declare variable p_codendereco integer;

declare variable p_codendcob integer;

begin

select codigoend, codigoendcob, codigoendentr

from tbclientes

where codigocliente=:P_codigocliente

into :P_codendereco, :P_codendcob, :P_codendentrega;

 

/*Excluindo os dados */

Delete from tbClientes where codigocliente=:P_codigocliente;

Delete from tbenderecos where codigoendereco=:P_codendcob;

Delete from tbenderecos where codigoendereco=:P_codendentrega;

Delete from tbenderecos where codigoendereco=:P_codendereco;

 

end

 

Não acho q seja a melhor solução mas foi a encontrada!

 

Aguardo sugestões.

 

Att,

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.