Oracle = Execute Immediate com quotes (varchar)

1 resposta
fabim

Bom pessoal,

Vo postar aqui essa concatenação enjoada so pra ficar de referencia. Pq o primeiro lugar de busca de muitos de nos é o GUJ mesmo.
Foi um SACO conseguir concatenar isso adequadamente.
Até pq se alguem souber uma maneira melhor responda ao topico (mas sem usar bind variables, pq com variaveis é tranquilo)

EXECUTE IMMEDIATE 'INSERT INTO TABELA (
    SELECT * FROM TABELA2
      WHERE (
              DATA1 >= TO_DATE(' || '''01/09/2011''' || ',' || '''DD/MM/YYYY''' || ') 
          AND DATA2 <= TO_DATE(' || '''30/09/2011''' || ',' || '''DD/MM/YYYY''' || ')
      )
)';

1 Resposta

gfkauer

EXECUTE IMMEDIATE 'INSERT INTO TABELA ( SELECT * FROM TABELA2 WHERE ( DATA1 >= TO_DATE(''01/09/2011'', ''DD/MM/YYYY'') AND DATA2 <= TO_DATE(''30/09/2011'',''DD/MM/YYYY'') ) )';
Tem o mesmo resultado.

Criado 10 de novembro de 2011
Ultima resposta 10 de nov. de 2011
Respostas 1
Participantes 2