[firebase-br] stored procedures não estão funcionando

Reijanio Nunes Ribeiro rnribeiro em gmail.com
Ter Out 27 18:12:43 -03 2009


bom dia a todos estou com um pequeno problema em duas uma que são
praticamente identica a outra qu funciona muito bem poderiam me ajudar:


PROCEDURE QUE FUNCIONA

SET TERM ^ ;

CREATE PROCEDURE IMPORTAR (
    codigo varchar(14),
    descricao varchar(200),
    vlrvenda double precision,
    perc_ipi double precision,
    class_fiscal integer)
as
begin
for select codigo,  descricao,  preco_venda, perc_ipi, class_fiscal from
stihl
into :codigo, :descricao, :vlrvenda, :perc_ipi, :class_fiscal do
begin
  if(Exists(select * from produto WHERE codigo =:codigo))then
  begin
  update produto set vlrvenda = :vlrvenda,
descricao =:descricao,
ipi = :perc_ipi,
class_fiscal =:class_fiscal
   where (codigo = :codigo);
   end
    else
    begin
    insert into produto(codigo, descricao, ipi, class_fiscal, vlrvenda)
    values
    (
    :codigo ,
    :descricao,
    :perc_ipi,
    :class_fiscal,
    :vlrvenda
     );
  end
end
  end^

SET TERM ; ^


PROCEDURE QUE NÃO FUNCIONA

SET TERM ^ ;

CREATE PROCEDURE ATLZ_PRECO (
    idprod varchar(18),
    vlr_venda double precision)
as
begin
for select codigo, preco_venda from stihl
into :idprod, :vlr_venda do
begin
  if(Exists(select * from preco_tabela WHERE codigo =:idprod))then
  begin
  update preco_tabela set vlr_venda = :vlr_venda
   where (codigo = :idprod);
   --tentativa
   end
    else
    begin
    insert into preco_tabela(idprod, vlr_venda)
    values
    (
    :idprod,
    :vlr_venda
     );
  end
  end
  end^

SET TERM ;

ESTRUTURA DA TABELA PRECO-TABELA
CREATE GENERATOR GEN_PRECO_TABELA_ID;

CREATE TABLE PRECO_TABELA (
    CODIGO        INTEGER NOT NULL,
    IDTAB         INTEGER,
    IDPROD        VARCHAR(18),
    VLR_VENDA     DOUBLE PRECISION,
    VLR_MENOR     DOUBLE PRECISION,
    VLR_MAIOR     DOUBLE PRECISION,
    VLR_SUGESTAO  DOUBLE PRECISION,
    DT_ATUALIZA   DATE,
    COD_EMP       INTEGER,
    CODBARR       VARCHAR(13)
);

ESTUTURA DA TABELA STIHL

CREATE TABLE STIHL (
    CODIGO         VARCHAR(14) NOT NULL,
    DESCRICAO      VARCHAR(25),
    DESC_COMPLEM   VARCHAR(29),
    QTD_MIN        INTEGER,
    PRECO_VENDA    DOUBLE PRECISION,
    COD_PROC       INTEGER,
    PERC_RED_ICMS  NUMERIC(2,0),
    PERC_IPI       DOUBLE PRECISION,
    CLASS_FISCAL   INTEGER,
    MODELO         VARCHAR(130),
    HIERARQ_PROD   VARCHAR(18),
    TERMINADOR     CHAR(1),
    ALIQ_ECF       NUMERIC(2,0)
);



Mais detalhes sobre a lista de discussão lista