Bingo... Acho que essa mata a charada ;)
Formata a sua saída bonitinha como se fosse a saída de um select ;)
POG total, mas acho que pode resolver.
Lembra de depois fazer um set serveroutput off;

Gostei Guilherme!

Gmail - Guilherme escreveu:
> 
> 
> eheheh Cara eu sei como é isso......
> cara espero que o codigo abaixo te ajude
> 
> set serveroutput on;
> DECLARE
> TYPE DatCurTyp IS REF CURSOR;
> dat_cv DatCurTyp;
> lix_rec LIXO%ROWTYPE;
> sql_stmt VARCHAR2(2000);
> v_dat date := to_date('01/05/2008','dd/mm/rrrr');
> BEGIN
> sql_stmt := 'SELECT 500 valor,sysdate FROM dual WHERE sysdate >= :d';
> OPEN dat_cv FOR sql_stmt
> USING v_dat;
> LOOP
> FETCH dat_cv
> INTO lix_rec;
> EXIT WHEN dat_cv%NOTFOUND;
> DBMS_OUTPUT.PUT_LINE(to_char(v_dat,'mm/rrrr')||chr(10)||
> lix_rec.valor );
> 
> END LOOP;
> CLOSE dat_cv;
> END;
> /
> 
> 2008/5/13 Luis Eduardo Trovo <[EMAIL PROTECTED] 
> <mailto:l_trovo%40yahoo.com>>:
> 
>  > Gleyson,
>  >
>  > Veja, o problema aqui é técnico, não estou levando em
>  > conta o que a TI poderia fazer por mim.
>  >
>  > Meu usuário, neste caso é meu diretor, que é doente e
>  > não abre a mão do velho e bom SQL PLUS.
>  >
>  > Na verdade isso caiu no meu colo, porque o diretor não
>  > conseguiu resolver, pois ele tem uma boa noção de
>  > oracle, só que desta vez ele não conseguiu uma
>  > solução! Caiu no meu colo também, porque passou por
>  > várias pessoas e também não conseguiram resolver.
>  > E eu, que sou de BI, e não tenho nada a ver com o pato
>  > .. rs .. estou batendo a cabeça para resolver!
>  >
>  > Veja, o problema, como te disse, é técnico .. nada de
>  > conceitual, de estrutura interna da empresa ou de
>  > forma de desenvolvimento.
>  >
>  > Rs .. só preciso que o apelido de uma coluna seja
>  > formatado em "mes/ano" todas as vezes que uma data, no
>  > formato "dia/mes/ano", for usado para filtrar uma
>  > view.
>  >
>  > Estou já quase jogando a toalha viu .. rs.
>  >
>  > Abraços
>  > Luís
>  >
>  >
>  > --- Gleyson Melo <[EMAIL PROTECTED] 
> <mailto:gleysonmelo%40gmail.com> <gleysonmelo%40gmail.com>> wrote:
>  >
>  > > Fala Eduardo,
>  > >
>  > > Se é pra rodar no SQLPlus, então não é para o
>  > > usuário final. Porque a
>  > > preocupação com um nome dinâmico do campo?
>  > >
>  > > Se é pra uma equipe de operação, que só fica
>  > > monitorando, porque criar uma
>  > > view se você pode criar um script com uma entrada
>  > > muito mais simples, como o
>  > > André mencionou? Assim, o operador não precisa saber
>  > > SQL.
>  > >
>  > > Porque tem que ser no sqlplus, se você poderia fazer
>  > > em Delphi, Java, .NET,
>  > > PHP, ... e gerar uma saída muito mais bonita e
>  > > moderna?
>  > >
>  > > Na verdade, talvez não exista uma solução para esse
>  > > problema porque esse
>  > > problema não é relevante para o resto do universo de
>  > > TI. O que você quer, no
>  > > fim das contas, provavelmente pode ser resolvido de
>  > > outra maneira. Você não
>  > > quer explicar o contexto de forma mais detalhada?
>  > >
>  > > 2008/5/13 Luis Eduardo Trovo <[EMAIL PROTECTED] 
> <mailto:l_trovo%40yahoo.com> <l_trovo%40yahoo.com>>:
>  > >
>  > > > Marcelo,
>  > > >
>  > > > Primeiramente, obrigado pela atenção!
>  > > >
>  > > > Criei aqui um processo para tentar exemplificar o
>  > > > exemplo.
>  > > >
>  > > > ====> Crio uma view com a data e um valor
>  > > >
>  > > > SQL>
>  > > > SQL> CREATE VIEW LIXO AS
>  > > > 2 SELECT F.F_DT_TRANS DT_TRANS, F.F_VL_PARCELA
>  > > > VL_PARCELA
>  > > > 3 FROM F_BUSSOLA F
>  > > > 4 WHERE F.F_CD_REDE = 1
>  > > > 5 AND F.F_PRODUTO = 224;
>  > > >
>  > > > View created
>  > > >
>  > > > SQL>
>  > > > SQL>
>  > > >
>  > > >
>  > > > ====> Acesso a view Lixo, passando uma data:
>  > > >
>  > > >
>  > > > SQL>
>  > > > SQL> SELECT SUM(L.VL_PARCELA)
>  > > > 2 FROM LIXO L
>  > > > 3 WHERE L.DT_TRANS = '01/12/2007';
>  > > >
>  > > > SUM(L.VL_PARCELA)
>  > > > -----------------
>  > > > 50621,63
>  > > >
>  > > > SQL>
>  > > > SQL>
>  > > >
>  > > > O resultado do select, tem como apelido para a
>  > > coluna
>  > > > o "SUM(L.VL_PARCELA)", porém, eu preciso que este
>  > > > apelido seja uma formatação da data que eu filtrei
>  > > o
>  > > > resultado (01/12/2007), ou seja, preciso que o
>  > > > resultado seja uma formatação de '01/12/2007' para
>  > > > 12/2007.
>  > > >
>  > > > Em outras palavras, o resultado que eu preciso é:
>  > > >
>  > > >
>  > > > 12/2007
>  > > > -----------------
>  > > > 50621,63
>  > > >
>  > > >
>  > > > O exemplo que você montou funciona, porém eu não
>  > > > tenho, na tabela em questão, um campo para dia,
>  > > mês e
>  > > > ano separadamente. Ou seja, preciso passar a data
>  > > > completa no where (ou parâmetro - como me
>  > > expressei
>  > > > antes).
>  > > >
>  > > > Obrigado.
>  > > > Luís.
>  > > >
>  > > >
>  > > > --- Andre Santos
>  > >
>  > <[EMAIL PROTECTED] <mailto:andre.psantos.ti%40gmail.com> 
> <andre.psantos.ti%40gmail.com>
>  > <andre.psantos.ti%40gmail.com>>
>  > > > wrote:
>  > > >
>  > > > > Luis
>  > > > >
>  > > > > Mas vocês vão tentar fazer uma "view
>  > > parametrizada"?
>  > > > > (na cláusula WHERE?)
>  > > > > Até onde sei, isso não é possível...
>  > > > >
>  > > > > Bom... creio que isso foi um desafio de "POG" (
>  > > > > http://desciclo.pedia.ws/wiki/POG 
> <http://desciclo.pedia.ws/wiki/POG>)
>  > > > > ;^)
>  > > > >
>  > > > > Então segue uma sugestão que pode ser colocada
>  > > em um
>  > > > > "script" (já que
>  > > > > pretendem executar através do SQL Plus).
>  > > > >
>  > > > > [ ]'s
>  > > > >
>  > > > > André
>  > > > >
>  > > > > SQL> -- Preparação e verificação
>  > > > > ----------------------
>  > > > > SQL>
>  > > > >
>  > > > > SQL> DESC teste
>  > > > > Nome Nulo?
>  > > > > Tipo
>  > > > > -----------------------------------------
>  > > --------
>  > > > > ----------------------------
>  > > > > DT
>  > > > > DATE
>  > > > > VALOR
>  > > > > NUMBER(9,2)
>  > > > >
>  > > > > SQL> SELECT * FROM teste;
>  > > > >
>  > > > > DT VALOR
>  > > > > ------------------- ----------
>  > > > > 12/05/2008 00:00:00 1000
>  > > > > 12/05/2008 00:00:00 500
>  > > > > 13/05/2008 00:00:00 2000
>  > > > > 13/05/2008 00:00:00 300
>  > > > >
>  > > > > SQL> CREATE OR REPLACE VIEW vw_teste
>  > > > > 2 AS SELECT dt, SUM(valor) soma_dia
>  > > > > 3 FROM teste
>  > > > > 4 GROUP BY dt;
>  > > > >
>  > > > > View criada.
>  > > > >
>  > > > > SQL> SELECT * FROM vw_teste;
>  > > > >
>  > > > > DT SOMA_DIA
>  > > > > ------------------- ----------
>  > > > > 12/05/2008 00:00:00 1500
>  > > > > 13/05/2008 00:00:00 2300
>  > > > >
>  > > > > SQL> -- Execução
>  > > > > --------------------------------------
>  > > > > SQL>
>  > > > >
>  > > > > SQL> ACCEPT p_dia CHAR PROMPT 'Digite o "dia" da
>  > > > > data (de 01 a 31): '
>  > > > > Digite o "dia" da data (de 01 a 31): 12
>  > > > > SQL>
>  > > > > SQL> ACCEPT p_mes CHAR PROMPT 'Digite o "mês" da
>  > > > > data (de 01 a 12): '
>  > > > > Digite o "mês" da data (de 01 a 12): 05
>  > > > > SQL>
>  > > > > SQL> ACCEPT p_ano CHAR PROMPT 'Digite o "ano"
>  > > (com 4
>  > > > > dígitos): '
>  > > > > Digite o "ano" (com 4 dígitos): 2008
>  > > > > SQL>
>  > > > > SQL> SELECT soma_dia "&p_mes/&p_ano"
>  > > > > 2 FROM vw_teste
>  > > > > 3 WHERE dt =
>  > > > > TO_DATE('&p_dia/&p_mes/&p_ano','dd/mm/yyyy');
>  > > > > antigo 1: SELECT soma_dia "&p_mes/&p_ano"
>  > > > > novo 1: SELECT soma_dia "05/2008"
>  > > > > antigo 3: WHERE dt =
>  > > > > TO_DATE('&p_dia/&p_mes/&p_ano','dd/mm/yyyy')
>  > > > > novo 3: WHERE dt =
>  > > > > TO_DATE('12/05/2008','dd/mm/yyyy')
>  > > > >
>  > > > > 05/2008
>  > > > > ----------
>  > > > > 1500
>  > > > >
>  > > > > SQL>
>  > > > > SQL> -- Finalização
>  > > > > -----------------------------------
>  > > > > SQL> UNDEFINE p_dia
>  > > > > SQL> UNDEFINE p_mes
>  > > > > SQL> UNDEFINE p_ano
>  > > > >
>  > > > > ______________________________________________
>  > > > > Em 13/05/08, Luis Eduardo Trovo
>  > > <[EMAIL PROTECTED] <mailto:l_trovo%40yahoo.com> 
> <l_trovo%40yahoo.com> <l_trovo%40yahoo.com>
>  > > > >
>  > > > > escreveu:
>  > >
>  > === message truncated ===
>  >
>  >
>  >
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 


-- 

Sds,

   Leonardo Rezende
   Analista Desenvolvedor
   [EMAIL PROTECTED]

Responder a