Weblogs Código

RecorteX

» groupby
73 usuarios y 244 recortes de código
Usuario

Contraseña
Crear cuenta
Estás viendo los recortes de la etiqueta groupby

RSS
Recortes: 1

Etiquetas relacionadas:
plsql
sql
texto
concatenar
Oracle

Concatenar varias filas en una columna con Oracle

Función para poder seleccionar el texto de varias filas en una única columna. Funciona como una función de grupo.
 
CREATE OR REPLACE FUNCTION rowconcat(q IN VARCHAR2) RETURN VARCHAR2 IS
  ret  VARCHAR2(4000);
  hold VARCHAR2(4000);
  cur  sys_refcursor;
BEGIN
  OPEN cur FOR q;
  LOOP
    FETCH cur INTO hold;
    EXIT WHEN cur%NOTFOUND;
    IF ret IS NULL THEN
      ret := hold;
    ELSE
      ret := ret || ',' || hold;
    END IF;
  END LOOP;
  RETURN ret;
END;
/
 
Ejemplo
 
SQL> SELECT rowconcat('SELECT dname FROM dept') AS departments
  2    FROM dual;
 
DEPARTMENTS
--------------------------------------------------------------------------------
ACCOUNTING,RESEARCH,SALES,OPERATIONS
 
Encontrado en http://orafaq.com/faq/map_rows_to_a_column
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin