[firebase-br] Stored Procedure (não executa update corretamente)
HPensador
helio.oliveira em as.unifacs.br
Qua Out 3 11:21:37 -03 2007
Bom dia Colegas!
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
--
Mais detalhes sobre a lista de discussão lista