› Fóruns › SQL e PL/SQL › É possível fazer macro substituição no PL/SQL
- Este tópico contém 6 respostas, 3 vozes e foi atualizado pela última vez 14 anos, 11 meses atrás por
felipeg.
-
AutorPosts
-
4 de junho de 2011 às 2:20 am #99501
airoosp
ParticipanteBoa tarde,
Alguém tem algum exemplo de código no PL/SQL que possa ser utilizando em procedure?
Obrigado.
Airton
6 de junho de 2011 às 3:44 pm #99505leandrolbs
Participante6 de junho de 2011 às 4:26 pm #99506felipeg
Participante[quote=”airoosp”:rn7fwjpi]Boa tarde,
Alguém tem algum exemplo de código no PL/SQL que possa ser utilizando em procedure?
Obrigado.
Airton[/quote]
Airton, bom dia
Desculpe, não entendi muito bem a sua necessidade.
Poderia exemplificar por gentileza.Atenciosamente,
Felipe.7 de junho de 2011 às 4:14 pm #99517airoosp
ParticipanteBom dia,
O que estou precisando fazer é criar uma rotina na procedure que faça o insert em uma tabela através do retorno das informações de um cursor. O detalhe é que na versão 8i o EXECUTE IMMEDIATE não funciona, ai lembrei da macrosubstituição que é utilizada em outras linguagens.
O código que estava escrevendo é :
lcSQL:=’select empresa, conta ‘||v_tipo_conta||’, coditem ‘ ….
Onde v_tipo_conta é uma das variáveis que recebe retorno do cursor.
E depois executar com:
execute immediate lcSQL;
Há uma outra forma de executar o sql dinâmico sem utilizar o execute immediate?
Obrigado.
Airton
7 de junho de 2011 às 7:45 pm #99520felipeg
Participante[quote=”airoosp”:3qlr3qzx]Bom dia,
O que estou precisando fazer é criar uma rotina na procedure que faça o insert em uma tabela através do retorno das informações de um cursor. O detalhe é que na versão 8i o EXECUTE IMMEDIATE não funciona, ai lembrei da macrosubstituição que é utilizada em outras linguagens.
O código que estava escrevendo é :
lcSQL:=’select empresa, conta ‘||v_tipo_conta||’, coditem ‘ ….
Onde v_tipo_conta é uma das variáveis que recebe retorno do cursor.
E depois executar com:
execute immediate lcSQL;
Há uma outra forma de executar o sql dinâmico sem utilizar o execute immediate?
Obrigado.
Airton[/quote]
Airton, dentro de um bloco de código, a única maneira, que eu uso e me lembro é justamente o execute immediate.
Alguma restrição no uso dele?
Atenciosamente,
Felipe.7 de junho de 2011 às 9:15 pm #99522airoosp
ParticipanteA versão 8i não aceita o execute immediate.
7 de junho de 2011 às 9:23 pm #99523felipeg
Participante[quote=”airoosp”:38oe6335]A versão 8i não aceita o execute immediate.[/quote]
Teste então o DBMS_SQL
Segue a documentação da Oracle.
http://download.oracle.com/docs/cd/B105 … /d_sql.htm
Atenciosamente,
Felipe. -
AutorPosts
- Você deve fazer login para responder a este tópico.
› Fóruns › SQL e PL/SQL › É possível fazer macro substituição no PL/SQL