Re: [firebase-br] Triggers - Verificação com problemas...
Valdir Marcos
valdir.marcos em ig.com.br
Sex Out 14 13:59:32 -03 2005
Simples, criei uma variável para saber se já existe "endereço T".
Depois, faz um Select X From CAD_ENDERECO where Y into :Variável;
Agora, é só vc testar essa variável para saber se precisa incluir o endereço
ou não.
Um abraço,
Valdir Marcos
----- Original Message -----
From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Friday, October 14, 2005 10:01 AM
Subject: [firebase-br] Triggers - Verificação com problemas...
> (Desculpem qqr digitacao errada.. tive um problema com a moto que atingiu
> as maos)
>
> Pessoal. Preciso de uma sugestão (tenho pedido de mais né?)
>
> No cadastro de enderecos, eu preciso sempre ter pelo menos um que seja de
> cobranca (cobranca = 'T')
>
> Entao fiz uma trigger assim:
> declare variable V_ENDERECO integer;
> begin
> V_ENDERECO = 0;
> if (new.CEND_COBRANCA = 'T') then
> begin
> select count(CEND_COBRANCA)
> from CAD_ENDERECO
> where CAD_ENDERECO.PESS_CODIGO = new.PESS_CODIGO
> and CAD_ENDERECO.CEND_CODIGO <> new.CEND_CODIGO
> and CAD_ENDERECO.CEND_COBRANCA = 'T'
> into :V_ENDERECO;
> end
> else if (new.CEND_COBRANCA = 'F') then
> begin
> select count(CEND_COBRANCA)
> from CAD_ENDERECO
> where CAD_ENDERECO.PESS_CODIGO = new.PESS_CODIGO
> and CAD_ENDERECO.CEND_CODIGO <> new.CEND_CODIGO
> and CAD_ENDERECO.CEND_COBRANCA = 'T'
> into :V_ENDERECO;
> end
>
> if ((V_ENDERECO > 0) and (new.CEND_COBRANCA = 'T')) then
> exception E_ENDERECO_COBRANCA ;
> else if ((V_ENDERECO <= 0) and (new.CEND_COBRANCA = 'F')) then
> new.CEND_COBRANCA = 'T';
>
> Até aqui tudo bem, mas quando o usuário (só pra me sacanear) insere nesta
> sequencia:
>
> Cobranca = 'F'
> Cobranca = 'T'
>
> Dá problema pq ele duplica a informacao. Alguém teria alguma sugestão?
>
>
>
> Obrigado
>
>
> Francisco Thiago de Almeida
> Enter & Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> Franca / SP
> msn: thiago em enterplug.com.br
>
>
>
>
>
>
>
> _______________________________________________________ Promoção Yahoo!
> Acesso Grátis: a cada hora navegada você acumula cupons e concorre a mais
> de 500 prêmios! Participe! http://yahoo.fbiz.com.br/
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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