[firebase-br] Erro Estranho: Execute Statement

Salatiel da Rocha Venancio salatielvenancio em ig.com.br
Dom Jan 16 12:42:18 -03 2011


Bom dia pessoal.

Estou criando algumas stored procedures para serem executadas a partir do
BD. E comecei a usar o comando execute statement, isso para "diminiuir" os
códigos. Mas percebi umas coisas estranhas. Uso Delphi 7, Firebird 2.5, IBO
4.8.6.

Veja o seguinte...

Quando eu executo esse bloco de comandos por mais de uma vez,

varSQL = 'DELETE FROM TABELA WHERE EMPRESA = :II_EMPRESA AND STATUS =
''N''';
EXECUTE STATEMENT (varSQL) (II_EMPRESA := :I_EMPRESA);

é retornado o seguinte erro: "Invalid Transaction handle (expecting explicit
transaction start)", além desse erro, aparecem outros códigos de erro como
335544569. Já procurei na net, tentei resolver mas nada.

PORÉM, se eu usar o comando "in natura" é executado perfeitamente quantas
vezes forem necessárias, sem erro algum.

DELETE FROM TABELA
WHERE EMPRESA = :I_EMPRESA AND STATUS = 'N';

Por conhecer pouco FIREBIRD, talvez eu esteja esquecendo alguma coisa, ou
iniciar transacao, coisa e tal.

Desde já agradeço.

Obrigado.



Mais detalhes sobre a lista de discussão lista