[firebase-br] Problema c/ SP e/ou IBExpert!!!!
Carlos H. Cantu (TeamFB)
listas em warmboot.com.br
Qua Abr 16 16:01:50 -03 2008
A mensagem de erro é clara: em alguma situação especifica, o comando
dinâmico que foi montado está retornando um dado de tipo diferente
da variável onde está sendo atribuído.
O execute statment não pode ser validado no momento de compilação da
procedure, pois o comando a ser executado pode mudar a cada execução.
[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br
Blog - http://blog.firebase.com.br
CSF> bah, ninguem?????
CSF> Roger escreveu:
>> A Stored procedure abaixo está compilada e tudo mais, só que as vezes,
>> conforme a data que passo por parâmetro dá o seguinte erro:
>>
>>
>> Unsuccessful execution caused by an unavailable resource
>> Variable type (position 0) in EXECUTE STATEMENT 'SELECT
>> AREA_ID,OPERACAO_ID,INTO does not match returned column type.
>> At procedure 'CONSULTA_TIP'.
>>
>>
>> A tabela PROCESSADOS tem 800 mil registros.
>>
>> ______
>>
>>
>> SET TERM ^ ;
>>
>> CREATE PROCEDURE CONSULTA_TIP (
>> turno varchar(5),
>> inicio timestamp,
>> fim timestamp)
>> returns (
>> id_operacao varchar(10),
>> limite bigint,
>> transporte bigint,
>> total bigint,
>> minutos bigint,
>> excedidos bigint,
>> ciclos bigint,
>> id_area bigint)
>> as
>> BEGIN
>> FOR EXECUTE STATEMENT
>> 'SELECT AREA_ID,OPERACAO_ID,
>> AVG(DURACAO) TOTAL,
>> AVG(TRANSPORTE) TRANSPORTE,
>> AVG(LIMITE) LIMITE,
>> CASE WHEN COUNT(1) > 1 THEN COUNT(1) ELSE 0 END CICLOS,
>> SUM(CASE WHEN EXCEDIDO > 0 THEN 1 ELSE 0 END) EXCEDIDOS,
>> SUM(EXCEDIDO) MINUTOS
>>
>> FROM PROCESSADOS
>> WHERE ((INICIO >= ''' || :INICIO || ''') AND (TERMINO <= ''' || :FIM ||
>> ''')) AND TURNO IN (' || :TURNO || ')
>>
>> GROUP BY AREA_ID,OPERACAO_ID'
>> INTO :ID_AREA,
>> :ID_OPERACAO,
>> :TOTAL,
>> :TRANSPORTE,
>> :LIMITE,
>> :CICLOS,
>> :EXCEDIDOS,
>> :MINUTOS
>> DO
>> BEGIN
>> SUSPEND;
>> END
>> END^
>>
>> SET TERM ; ^
>>
>> GRANT EXECUTE ON PROCEDURE CONSULTA_TIP TO SYSDBA;
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
CSF> ______________________________________________
CSF> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
CSF> Para saber como gerenciar/excluir seu cadastro na lista, use:
CSF> http://www.firebase.com.br/fb/artigo.php?id=1107
CSF> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
Mais detalhes sobre a lista de discussão lista