Enão, achoq ue basta vc tirar os dois pontos antes de cada variável! Já tentou isso??
Milton Bastos Henriquis Junior Oracle Database Administrator -----Mensagem original----- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Informática - Usina Moreno Enviada em: sexta-feira, 14 de dezembro de 2007 12:37 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] SQL Dinamico Milton Não é isso que está fazendo, eu estou somando o valor das 3 variaveis e retornando no vnValor Marcos ----- Mensagem original -----De: Milton Bastos Henriquis Jr. <[EMAIL PROTECTED] <mailto:miltonbastos%40gmail.com> >Até: <oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> >Cc: Data: Sexta-feira, Dezembro 14 2007 12:23 PMAssunto: Re: RES: [oracle_br] SQL DinamicoVc tem 3 variáveis: vnA, vnB, e vnC na query dinâmica. Ao retornar pro INTO, tem que retornar pra 3 variáveis, e vc retornou para apenas uma: vnValor. Entendeu?? On Dec 14, 2007 11:57 AM, Informática - Usina Moreno < [EMAIL PROTECTED] <mailto:informatica%40usinamoreno.com.br> > wrote: > Não funciona, veja o que fiz: > > create or replace function FC_TESTE_SQL > return NUMBER is > vnValor number; > vnA NUMBER := 1; > vnB NUMBER := 2; > vnC NUMBER := 3; > vsSql VARCHAR2(2000) := ':vnA+:vnB+:vnC'; > begin > vsSql := 'SELECT ' || vsSQL || ' FROM DUAL'; > EXECUTE IMMEDIATE vsSql INTO vnValor; > return(vnValor); > end FC_TESTE_SQL; > > Dá o ora-01008:not all variable bound > > Marcos > > ----- Mensagem original -----De: Bruno Lorenzini < > [EMAIL PROTECTED] <mailto:listas.distribuicao%40gmail.com> <listas.distribuicao%40gmail.com>>Até: < > oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br>>Cc: Data: > Sexta-feira, Dezembro 14 2007 11:17 AMAssunto: RES: [oracle_br] SQL > DinamicovsSql VARCHAR2(2000) := ':a+:b+:c'; > > vsSql := 'SELECT ' || vsSQL || ' FROM DUAL'; > > EXECUTE IMMEDIATE vsSql INTO vnResultado; > > Tenta isso... acho que vai funcionar xD... o que sei é que esse "FROM DUAL" > na > clausula "EXECUTE IMMEDIATE" não existe. > > Abs, > > Bruno Lorenzini > > _____ > > De: oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br> [mailto: > oracle_br@yahoogrupos.com.br <mailto:oracle_br%40yahoogrupos.com.br> <oracle_br%40yahoogrupos.com.br>] Em > nome de Informática - Usina Moreno > Enviada em: sexta-feira, 14 de dezembro de 2007 11:06 > Para: [EMAIL PROTECTED] Com. Br; Oracle_Br > Assunto: [oracle_br] SQL Dinamico > > Srs bom dia > > Eu preciso usar o sql dynamic, mas não estou conseguindo, segue um > exemplo: > > vsSql VARCHAR2(2000) := ':a+:b+:c'; > EXECUTE IMMEDIATE vsSql FROM DUAL INTO vnResultado > eu posso ter qualquer expressão matemática dentro da variavel vsSql > Seu substituo as variaveis pelo valores e mando executar funciona, mas eu > quero executar sem subtituição. > > ALguem poderia dar um exemplo usando o que passei acima? > > Marcos > > [As partes desta mensagem que não continham texto foram removidas] > > > > [As partes desta mensagem que não continham texto foram removidas] >Apostilas » Dicas e Exemplos » Funções » Mundo Oracle » Package » Procedure » Scripts » Tutoriais acesse: http://www.oraclebr.com.br/codigo/ListaCodigo.php <http://www.oraclebr.com.br/codigo/ListaCodigo.php> ---------------------------------------------------------- >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira responsabilidade de seus remetentes. Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ <http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/> ---------------------------------------------------------- >O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ <http://www.oraclebr.com.br/> ---------------------------------------------------------- Links do Yahoo! Grupos [As partes desta mensagem que não continham texto foram removidas]