[firebase-br] [Off] For Select com Macro-substituição
Andrei Luís
compuvale.software em gmail.com
Seg Abr 14 15:36:22 -03 2008
Sim, você pode fazer isso usando execute statement, olha o monstrinho aí abaixo:
wSQL1 ='Insert into Financeiro ' ||
' (REGISTRO_ID, TIPO, TIPO2, COBRADOR, CADASTRADO, ' ||
' CEDENTE_ID, '||
' CEDENTE_NOME, ' ||
' HISTORICO, '||
' DOCUMENTO, '||
' DATAEMISSAO, ' ||
' DATAVENCIMENTO, '||
' VALORPROJETADO, DATAPAGAMENTO, VALORREALIZADO, QUITADO,
QUITADO_DATA, CANCELADO, '||
' OBS, CANCELADO_DATA, NOTAFISCAL_ID, PARCELA, '||
' REPRESENTANTE_ID, COMISSAO_PORCENTAGEM, COMISSAO_VALOR,
COMISSAO_QUITADO, COMISSAO_DATAPAGAMENTO)' ||
' Values(0, ' || '''RF''' || ', null, null,' || '''T''' ||
', '|| :wcliente_id ||
',(Select nome from agenda where
agenda.registro_id = ' || :wcliente_id || ')'
|| ',' ||
'''FATURA - PARCELA ' || :x || ' DE ' || :wparcelas || '
REF. NF NR ' || :wnrnf || ''',' ||
'''' || :wnrfatura || ''','||
' current_date '||
', ''' || Cast(:wdataven as Varchar(10))|| ''',' ||
:wfatura || ', null, 0, ' || '''F''' || ', null, ' || '''F''' ||
', null, null, '||:wnotafiscal_id ||', ' || :x ||
', ' || :wrepresentante_id || ', 0, 0,' || '''F''' || ', null)';
Execute Statement wSQL1;
[]
Andrei
2008/4/14, Humberto S. Reis <hsreisjr em gmail.com>:
> Prezados colegas,
>
> É possível tornar um for select flexível, passando parâmetros para uma SP,
> como o exemplo abaixo?
>
>
> for select P.CODIGO, P.DESCRICAO, p.COD_GRUPOPRODUTO, G.DESCRICAO,
> p.COD_CLASSEPRODUTO,
> C.DESCRICAO, P.COD_UNIDADE_VENDA, S.CUSTOAQUISICAO
>
> from PRODUTO P
> join GRUPOPRODUTO G on (g.CODIGO = p.COD_GRUPOPRODUTO)
> join CLASSEPRODUTO c on (c.COD_GRUPOPRODUTO = p.COD_GRUPOPRODUTO and
> c.CODIGO = p.COD_CLASSEPRODUTO)
> join SALDO S on (S.COD_LOJA = :ICOD_LOJA and S.COD_PRODUTO =
> P.CODIGO)
> where (p.APLICACAO in ('V','A','B')) and (p.COD_GRUPOPRODUTO =
> :ICOD_GRUPO)
> into :CCOD_PRODUTO, :CPRODUTO, :CCOD_GRUPOPRODUTO, :CGRUPO,
> :CCOD_CLASSEPRODUTO, :CCLASSE, :CCOD_UN_SAIDA,
> :NCUSTO_AQUISICAO do
> begin
>
>
>
> Grato,
>
> Humberto
Mais detalhes sobre a lista de discussão lista