FAQ Procura Membros Registre-se Perfil MP's Login/Out
Veja também:
Linhas em colunas
funcao retornar varias linas?
Pessoal, será q eu tenho como fazer isso ?
Cursor Dinamico no Forms
Juntar mais de um registro numa única célula
Como Carregar Reports a Partir de um Record Group
[Dica] Mostrar relacionamentos de uma tabela

[Dica] Transformar colunas em string separadas por vírgula

 
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> PL/SQL
Mensagem Autor
Enviada: Ter, 25 Mai 2004 8:42 pm     Assunto: [Dica] Transformar colunas em string separadas por vírgula

Essa função é bem interessante. Pega todas linhas de uma determinada consulta e retorna uma string. Confira!

Código:
SQL> CREATE OR REPLACE FUNCTION rowtocol (
  2     p_slct IN VARCHAR2,
  3     p_dlmtr IN VARCHAR2 DEFAULT ',' )
  4  RETURN VARCHAR2
  5     AUTHID CURRENT_USER AS
  6     TYPE c_refcur IS REF CURSOR;
  7     lc_str VARCHAR2(4000);
  8     lc_colval VARCHAR2(4000);
  9     c_dummy c_refcur;
 10     l number;
 11  BEGIN
 12     OPEN c_dummy FOR p_slct;
 13     LOOP
 14       FETCH c_dummy INTO lc_colval;
 15       EXIT WHEN c_dummy%NOTFOUND;
 16       lc_str := lc_str || p_dlmtr || lc_colval;
 17     END LOOP;
 18     CLOSE c_dummy;
 19     RETURN SUBSTR(lc_str,2);
 20  END;
 21  /

Function created.

SQL> SELECT ROWTOCOL('SELECT ENAME FROM EMP') FROM DUAL;

ROWTOCOL('SELECTENAMEFROMEMP')
------------------------------------------------------------------
SMITE,ALLEN,WARD,JONES,MARTIN,BLAKE,SCOTT,TURNER,ADAMS,JAMES,FORD

SQL>



_________________
Thomas F. G.
Campanha: Faça uma pesquisa antes de perguntar!!!
dr_gori
Moderador
Moderador


Registrado em: Seg, 3 de Mai de 2004
Mensagens: 3220
Cidade - UF: Porto Alegre - RS


Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    glufke.net - Índice do Fórum -> PL/SQL Todos os horários são GMT - 3 Hours
Página 1 de 1

 
 
. .