Ricardo
Eu preciso é somar os valores e não concatenar
Marcos

----- Mensagem original -----De: Ricardo Francisco <[EMAIL PROTECTED]>Até:   
<oracle_br@yahoogrupos.com.br>Cc: Data: Sexta-feira, Dezembro 14 2007 12:28 
PMAssunto: Re: RES: [oracle_br] SQL Dinamicotenta assim.

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;


Em 14/12/07, Informática - Usina Moreno <[EMAIL PROTECTED]>
escreveu:
>
> 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] <listas.distribuicao%40gmail.com>>Até: <
> oracle_br@yahoogrupos.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 <oracle_br%40yahoogrupos.com.br> [mailto:
> oracle_br@yahoogrupos.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]
>
>
> 
>



-- 
Ricardo Luiz Francisco
(17) 8132-7311

"É muito melhor arriscar coisas grandiosas, alcançar triunfos e glórias,
mesmo expondo-se a derrota, do que formar fila com os pobres de espírito que
nem gozam muito nem sofrem muito, porque vivem nessa penumbra cinzenta que
não conhece vitória nem derrota." Theodore Roosevelt


[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 
--------------------------------------------------------------------------------------------------------------------------
>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/ 
--------------------------------------------------------------------------------------------------------------------------
>O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: http://www.oraclebr.com.br/ 
------------------------------------------------------------------------------------------------------------------------
 
Links do Yahoo! Grupos



Responder a