[firebase-br] Atualizar Tabela - Stored Procedure
Forum ASR & Associados
forum em asreassociados.com.br
Sex Jan 6 14:37:20 -03 2006
Caro Salatiel,
Seria melhor se vc enviasse o metadata completo da stored procedure, pq
pode ter algum erro no cabeçalho da mesma, e junto a chamada dentro
do delphi ....
Esse erro é típico quando é feita uma passagem de valores de tipos
diferentes, por exemplo
quando vc tenta colocar um varchar(10) em um varchar(5) ....
eu faria da seguinte forma:
for select CODIGO, COALESCE(QUANTIDADE,0) from inventario
into :_CODIGO, :_QUANTIDADE
do
begin
update Estoque
set QUANTIDADE = :_QUANTIDADE
where codigo = :_CODIGO;
end
esse função coalesce só se encontra disponível a partir do firebird 1.5, o que ela faz
quando o valor quantidade for nulo, ele atribuí ZERO.
Abraços,
Airton Salviano Ramos de Souza
Analista de Sistemas
www.asreassociados.com.br
Salatiel Venâncio wrote:
>Tudo bem pessoal?
>
>Estou tentando criar uma stored procedure da seguinte forma:
>
>Atualizar a tabela estoque a partir da tabela do inventario. Mas ocorre
>o seguinte erro.
>
>== Arithmetic overflow or division by zero has occurred.
>== arithmetic exception, numeric overflow, or string truncation.
>
>Tabelas usadas
>
>Inventario (Codigo, Quantidade)
>Estoque (Codigo, Quantidade)
>
>Abaixo está o codigo da sp. Se alguem tiver uma forma mais simples.
>Agradeço.
>
> for select CODIGO, QUANTIDADE from inventario
> into :"_CODIGO", :"_QUANTIDADE"
> do
> begin
> update Estoque
> set
> QUANTIDADE = :"_QUANTIDADE"
> where codigo = :"_CODIGO";
> end
>
>Aguardo Contato.
>
>Att.
>
>Salatiel Venâncio
>"JESUS, Minha Certeza!"
>Campina Grande - PB
>
>
>
>
>
>
>
>
>_______________________________________________________
>Yahoo! doce lar. Faça do Yahoo! sua homepage.
>http://br.yahoo.com/homepageset.html
>
>
>______________________________________________
>FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
>
>
>
Mais detalhes sobre a lista de discussão lista