[firebase-br] Preciso de ajuda com Execute Statement
Renato Bermudo
renato em eturbo.com.br
Qui Ago 9 17:25:41 -03 2007
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.
Mais detalhes sobre a lista de discussão lista