Como o oracle separa os campos, tabelas e condiçoes numa string de sql?
queria pegar a string de sql e concatenar com " (aspas) no início e "(aspas) e a palavra vbnewline & _ no fim. para usar no sql do vb.
exemplo:
pegar este sql:
select nome ,empresa ,cargo
from funcionario, empresa
where nome = 'PAULO' and funcionario.empresa_id = empresa.id
e concatenar como abaixo,
" select " & vbnewline & _
"nome " & vbnewline & _
",empresa " & vbnewline & _
",cargo" & vbnewline & _
" from" & vbnewline & _
"funcionario" & vbnewline & _
",empresa" & vbnewline & _
"where" & vbnewline & _
"nome = 'PAULO'" & vbnewline & _
"funcionario.empresa_id = empresa.id" & vbnewline & _
para isto preciso saber como o oracle separa os nomes dos campos, das tabelas e das condiçoes no sql.
Fiz uma estrutura usando instr para usar a virgula como separador de campos, num sql simples deu certo, mas num sql que usa nvl, decode, to_date, não funciona, pois estas funções usam virgula para separar os parametros, com isto o nome dos campos ficam errados.
Como o oracle separa os campos, tabelas e condiçoes no sql
-
- Rank: Estagiário Júnior
- Mensagens: 2
- Registrado em: Seg, 15 Jun 2009 3:58 pm
- Localização: Anápolis
-
- Moderador
- Mensagens: 367
- Registrado em: Ter, 25 Mar 2008 3:41 pm
- Localização: Salvador - BA
Rodrigo Valentim
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Analista de Sistemas
Oracle Developer
Campanha: Faça uma pesquisa antes de perguntar!!!
Justamente, é meio complexo isso... Não digo nem complexo, falo de trabalhoso!
Acredito que com um bom código feito num bloco PL/SQL você consiga retornar esse arquivo já no formato que você quer...
Lembrando de sempre estar fazendo a checagem do que é nvl, do que é to_date, to_char, decode, etc.. e a cada função dessa que tem virgula, você ignorar todas até o ultimo parentese fechando a função...
Acredito que com um bom código feito num bloco PL/SQL você consiga retornar esse arquivo já no formato que você quer...
Lembrando de sempre estar fazendo a checagem do que é nvl, do que é to_date, to_char, decode, etc.. e a cada função dessa que tem virgula, você ignorar todas até o ultimo parentese fechando a função...
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 26 visitantes