EXECUTE BLOCK AS DECLARE VARIABLE VIDDETALHE VARCHAR(40); DECLARE VARIABLE VPRECO NUMERIC(15,2); DECLARE VARIABLE VPRECOSUG NUMERIC(15,2); DECLARE VARIABLE VCUSTO NUMERIC(15,2); BEGIN FOR SELECT ED."iddetalhe", ED."vlpreco", ED."vlprecosugerido", ED."vlprecocusto" FROM EMPDET ED WHERE COALESCE (ed."iddetalhe",'') <> '' AND ed."idempresa" = '004' INTO :VIDDETALHE, :VPRECO, :VPRECOSUG, :VCUSTO DO BEGIN UPDATE PROD SET PVEND = CASE WHEN COALESCE(:VPRECO,0) = 0 THEN :VPRECOSUG ELSE :VPRECO END, PCIF = :VCUSTO WHERE IDDETALHE = :VIDDETALHE; END END