[firebase-br] Erro em FOR EXECUTE STATEMENT (Opa!)

Carlos H. Cantu (TeamFB) listas em warmboot.com.br
Seg Mar 13 17:52:54 -03 2006


Olhe o SQL que está sendo gerado.

Datas tem que estar sempre entre '', e no seu caso, não estão.

[]s
Cantu (Membro do TeamFB - FireBase)
http://www.warmboot.com.br
FireBase - http://www.FireBase.com.br

dhc> Samuel,

dhc> É exatamente isso que está ocorrendo por aqui.

dhc> Agora, como é que posso deixar esse script de forma que resolva essa 
dhc> questão?

dhc> Grato.


dhc> David


dhc> ----- Original Message ----- 
dhc> From: "samuel ferreira" <samuel.peres.ferreira em gmail.com>
dhc> To: "FireBase" <lista em firebase.com.br>
dhc> Sent: Monday, March 13, 2006 1:42 PM
dhc> Subject: Re: [firebase-br] Erro em FOR EXECUTE STATEMENT (Opa!)


dhc> ola

dhc> ja passei por isso. era uma variavel numerica q eu estava concatenando com
dhc> string.
dhc> vc esta unindo strings com variaveis tipo data no ' v_script = '

dhc> eu contornei o erro passando tudo pra string


dhc> samuel



dhc> Em 13/03/06, dvdmengarda em hotmail.com <dvdmengarda em hotmail.com> escreveu:
>>
>> Desculpem-me, segue a mensagem correta:
>>
>>
>> Criei a SP abaixo pelo ibexpert sem qualquer problema na compilação.
>> Quando executo a SP, o ibexpert reporta o seguinte erro:
>>
>> 'expression evaluation not supported
>> .
>> expression evaluation not supported.'
>>
>> Alterando a procedure e fazendo a utilização de FOR SELECT ... DO com o
>> mesmo script do anterior a procedure executa normalmente. Existe alguma
>> limitação para o "for execute statement"?
>>
>> Grato pela atenção.
>>
>>
>> David
>>
>>
>> *****************************************************************************************************************************************
>> /* usando "for execute statement" /*
>> create procedure geralcto(tipo_venda varchar(2), data_emissao date)
>> returns (numero_lct integer, data_lct date, debito varchar(10), credito
>> varchar(10), valor numeric(10, 2))
>> as
>> declare variable v_script varchar(512);
>> begin
>> data_lct = data_emissao;
>> if (tipo_venda = 1) then
>>     v_script = 'select contacliente, contavendas, valorduplicata from
>> parcelas where (dataemissao = ' || :data_emissao || ')';
>> else
>>     v_script = 'select contacliente, contavendas, valortitulo from vendas
>> where (dataemissao = ' || :data_emissao || ' and cancelamento = 1)';
>> for execute statement
>>    v_script
>>    into
>>      :debito,
>>      :credito,
>>      :valor
>> do
>>    begin
>>      numero_lct = numero_lct + 1;
>>      suspend;
>>    end
>> end;
>>
>>
>> *****************************************************************************************************************************************
>> /* usando "for select ... do" /*
>> create procedure geralcto(tipo_venda varchar(2), data_emissao date)
>> returns (numero_lct integer, data_lct date, debito varchar(10), credito
>> varchar(10), valor numeric(10, 2))
>> as
>> begin
>> data_lct = data_emissao;
>> if (tipo_venda = 1) then
>>    for select
>>      contacliente, contavendas, valorduplicata from parcelas where
>> (dataemissao = :data_emissao)
>>      into
>>        :debito,
>>        :credito,
>>        :valor
>>    do
>>      begin
>>        numero_lct = numero_lct + 1;
>>        suspend;
>>      end
>>
>> else
>>    for select
>>      contacliente, contavendas, valortitulo from vendas where (dataemissao
>> = :data_emissao and cancelamento = 1)
>>        into
>>        :debito,
>>        :credito,
>>        :valor
>>    do
>>      begin
>>        numero_lct = numero_lct + 1;
>>        suspend;
>>      end
>> end;
>> ______________________________________________
>> 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
>>
dhc> ______________________________________________
dhc> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
dhc> Para editar sua configuração na lista, use o endereço 
dhc> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
dhc> Para consultar mensagens antigas: http://firebase.com.br/pesquisa

dhc> ______________________________________________
dhc> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
dhc> Para editar sua configuração na lista, use o endereço
dhc> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
dhc> Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista