[firebase-br] apanhando de stored_procedure alguem pode me ajudar(2º tentativa)
Reijanio Nunes Ribeiro
rnribeiro em gmail.com
Sáb Fev 7 10:36:39 -03 2009
bom dia
Alguem poderia me ajudar com essa procedure:
A logica seria assim importei uma tabela em txt com aproximadamente 6600
itens então tentei usar essa procedure da seguinte forma depois de baixar o
txt pra tabela temporária, executar a procedure que varreria a tabela de
produto sprocurando itens se achasse daria o update nos precos dos itens,
caso não encontrasse então começaria a inserir os mesmos, mais ta dando erro
podereiam me ajudar,
Acho que ta faltando um while ai mais não sei como implementa-lo no firebird
e não quero ter que fazer isso no delphi se puderem me ajudar ficarei grato,
obrigado
SET TERM ^ ;
CREATE PROCEDURE IMPORTAR (
codigo integer,
descricao varchar(200),
vlrvenda double precision)
as
begin
if(Exists(select codigo from stihl where codigo = :codigo))then
update produto set vlrvenda = : vlrvenda,
descricao =:descricao
where (codigo = :codigo);
else
insert into produto(codigo, descricao, vlrvenda) select codigo,
descricao, preco_venda
from stihl;
/*suspend;*/
/*end^*/
end^
SET TERM ; ^
Estrutura das tabelas
CREATE TABLE PRODUTO (
CODIGO VARCHAR(18) NOT NULL,
DESCRICAO VARCHAR(200),
VLRVENDA DOUBLE PRECISION,
IPI numerIC
CLASSFISCAL VARCHAR(14)
//retirei os outros campos pq o email anterior ficou aguardando aprovação
pois era muito grande
CREATE TABLE STIHL (
CODIGO VARCHAR(14) NOT NULL,
DESCRICAO VARCHAR(25),
DESC_COMPLEM VARCHAR(29),
QTD_MIN INTEGER,
PRECO_VENDA NUMERIC(15,5),
COD_PROC INTEGER,
PERC_RED_ICMS NUMERIC(2,0),
PERC_IPI NUMERIC(9,5),
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