Fórum TStoredProc #52189

12/08/2005

0

oi pessoal,
Criei uma Stored Procedure dentro do banco no firebird 1.5 para agilizar o processo de um cálculo como descrito nos 3 passos abaixo:
1 - ler dados do registro em uma tabela
2 - procura dados relacionados ao registro em mais três outras tabelas
3 - com isso, calcula um valor que é gravado na primeira tabela.

Não tenho interesse em ver o resultado na tela, mas apesar disso tive de criar um parametro de saida que guarda o valor calculado para ser gravado no campo da primeira tabela pois ficando em variavel não gravava, simplismente ignorava. Todavia, apesar deste retorno visual indesejado de valores, a Stored Procedure calcula e grava corretamente quando executada diretamente no banco de dados, no caso utilizando o IBExpert.

Chegando finalmente ao problema principal, é que quando chamo essa Stored Procedure atraves de um componente TStoredProcedure do Delphi (StoredProcedure1.ExecProc) somente é lido o primeiro registro da tabela e o valor é calculado mas não gravado, então o processamento é encerrado.

Resumindo, se executo a StoredProcedure no IBExpert todos os registros são processados e gravados corretamente mas se executado no delphi somente é lido o primeiro registro e nenhum é gravado.

Será que algum colega com mais experiencia em executar storedprocedure atraves do delphi sabe como resolver isso?

[color=green:cc8557e233]Movido de Delphi para Interbase/Firebird[/color:cc8557e233]


Catunda

Catunda

Responder

Posts

13/08/2005

Sremulador

Executar uma stored procedure com um unico resultado

execute procedure PROCEDURE (PARAMETROS)


Executar uma stored procedure com vários resultados

select * from PROCEDURE (PARAMETROS)



acho que e isto :wink:


Responder

Gostei + 0

13/08/2005

Catunda

Valeu sremulador.....
Agora deu certo.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar