[firebase-br] Preciso de ajuda com Execute Statement

Renato Bermudo renato em eturbo.com.br
Sex Ago 10 11:41:31 -03 2007


Olá!
Coloquei a data entre aspas e funcionou.
Obrigado a todos pela ajuda!


----- Original Message ----- 
From: "omar l m rosa" <omar em conesul.inf.br>
To: "Renato Bermudo" <renato em eturbo.com.br>; "FireBase" 
<lista em firebase.com.br>
Sent: Friday, August 10, 2007 8:00 AM
Subject: Re: [firebase-br] Preciso de ajuda com Execute Statement


> tem que por a data entre aspas!
>
> ----- Original Message ----- 
> From: "Renato Bermudo" <renato em eturbo.com.br>
> To: <lista em firebase.com.br>
> Sent: Thursday, August 09, 2007 5:25 PM
> Subject: [firebase-br] Preciso de ajuda com Execute Statement
>
>
> Olá pessoal!
>
> Preciso de uma ajuda com um bloco 'Execute Statement' executado em uma 
> trigger.
> O que está ocorrendo é que eu consigo concatenar vários tipos de 
> variaveis, mas quando se trata de váriavel tipo DATE, ele retorna um erro, 
> já tentei de tudo, se alguém puder me ajudar, o código é o seguinte:
>
>    declare variable v_sql varchar(255);
>    begin
>      v_sql='';
>
>      if (coalesce(new.apr_pgr_codigo,0)>0) then
>        v_sql='pro_pgr_codigo='||new.apr_pgr_codigo;
>
>      if (coalesce(new.apr_psg_codigo,0)>0) then
>      begin
>        if (v_sql<>'') then
>          v_sql=v_sql||' and ';
>
>        v_sql=v_sql||'pro_psg_codigo='||new.apr_psg_codigo;
>      end
>
>      if (coalesce(new.apr_pse_codigo,0)>0) then
>      begin
>        if (v_sql<>'') then
>          v_sql=v_sql||' and ';
>
>        v_sql=v_sql||'pro_pse_codigo='||new.apr_pse_codigo;
>      end
>
>      if (coalesce(new.apr_pma_codigo,0)>0) then
>      begin
>        if (v_sql<>'') then
>          v_sql=v_sql||' and ';
>
>        v_sql=v_sql||'pro_pma_codigo='||new.apr_pma_codigo;
>      end
>
>      execute statement
>      'update produtos set
>      pro_precopromocao=udf_rounddec(pro_precovenda-(pro_precovenda*'||
>      cast(coalesce(new.apr_pdescpromocao,0) as varchar(15))||'/100),2),
>      pro_dtiniciopromocao='||cast(new.apr_dtiniciopromocao as 
> varchar(10))||',
>      pro_dtfimpromocao='||cast(new.apr_dtfimpromocao as varchar(10))||
>      ' where '||:v_sql;
>
> Estou utilizando o 'Execute Statement' somente pelo filtro utilizado pela 
> cláusula where.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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