[firebase-br] P/Carlos Cantu

Charles Silva charles em streamsolucoes.com
Qui Out 4 18:39:24 -03 2007


Apesar de não ver diferença, teste dessa forma:

       update carteira_parceiro set x.baixado = 'S' from carteira_parceiro x
       where x.cod_parceiro = :icod_parceiro
       and x.cod_vendedor = :icod_vendedor;

Outra coisa, tente debugar essa procedure ver se esta passando com os 
valores que vc quer.

Qualquer dúvida entre em contato.

Charles Silva.


Samuel Duarte Matos wrote:
> O campo justificativa na tabela que vc quer atualizar é do mesmo tamanho da 
> variável da SP?
>
> "HPensador" <hpensador em gmail.com> escreveu na 
> mensagem news:fe376f$5gj$1 em sea.gmane.org...
> Boa tarde Carlos!
>
> Desculpa postar endereçada a você, mais já postei este problema antes e
> nenhum colega teve condição de mim ajudar, daí só recorrendo a você.
>
> Tenho uma SP para dar baixa de Cliente e Parceiros (automáticamente ou
> por solicitação) - em ambas são feitas 2 atualizações e em uma dessas
> atualizações são aterados os valores de 2 campos da tabela - porém não
> sei por que cargas d'agua neste caso a alteração só esta ocorrendo em
> um dos campos. Abaixo o codigo da SP, qual pecado estou cometendo?
>
> CREATE PROCEDURE BX_CARTEIRA_PARCEIRO (
>     justificativa varchar(200))
> as
> declare variable icodico integer;
> declare variable icod_parceiro integer;
> declare variable icod_vendedor integer;
> declare variable vdatafim date;
> declare variable sbaixado varchar(1);
> begin
>   for select n.codigo,
>              n.cod_parceiro,
>              n.cod_vendedor,
>              n.data_fim,
>              n.baixado
>       from carteira_parceiro n
>       where extract(year from n.data_fim) = extract(year from
> current_date)
>   into :icodico, :icod_parceiro, :icod_vendedor, :vdatafim, :sbaixado
>   do
>   begin
>      if ((justificativa = '') or (justificativa is null) ) then
>         justificativa = 'Baixa automática';
>      if ((:vDataFim < current_date) and (:sbaixado = 'N')) then
>      begin
>        update carteira_parceiro x set x.baixado = 'S',  <--- neste
> update são alterados o valor de 2 campos, porém qdo executo
>                                 x.motivo_baixa = :justificativa
> a SP apenas o primeiro campo tem seu valor modifica.
>        where x.cod_parceiro = :icod_parceiro
>          and x.cod_vendedor = :icod_vendedor;
>        update parceiro c set c.cod_vendedor = null
>        where c.cod_parceiro = :icod_parceiro;
>      end
>   end
> end
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>
>
>
>   
> ------------------------------------------------------------------------
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>
>
> __________ NOD32 2572 (20071004) Information __________
>
> This message was checked by NOD32 antivirus system.
> http://www.eset.com
>   




Mais detalhes sobre a lista de discussão lista