Nivel de función 501 (activación habilitada por el APAR PI70535 - Mayo de 2017)

El nivel de función 501 (V12R1M501) introduce la función incorporada LISTAGG, que produce una lista de todos los valores de un grupo.

Contenido

La función incorporada LISTAGG

La función LISTAGG incorporada crea una lista de todos los valores de un grupo. Un argumento de separador opcional puede delimitar los elementos de la lista de resultados. Por ejemplo, si se especifica una coma como separador se genera una lista separada por comas. También se puede especificar una ordenación opcional para los elementos del grupo.

Ejemplo

Genere una lista alfabética de nombres separados por comas, agrupados por departamento, de la tabla de empleados de ejemplo.

SELECT WORKDEPT,
 LISTAGG(LASTNAME, ', ') WITHIN GROUP(ORDER BY LASTNAME)
 AS EMPLOYEES
 FROM EMP
 GROUP BY WORKDEPT;

Se devuelve el resultado siguiente.

---------+---------+---------+---------+---------+---------+---------+---------+---------+-------
WORKDEPT  EMPLOYEES                                                             
---------+---------+---------+---------+---------+---------+---------+---------+---------+-------
A00       HAAS, HEMMINGER, LUCCHESI, O'CONNELL, ORLANDO                         
B01       THOMPSON                                                              
C01       KWAN, NATZ, NICHOLLS, QUINTANA                                        
D11       ADAMSON, BROWN, JOHN, JONES, LUTZ, PIANKA, SCOUTTEN, STERN, WALKER, YAMAMOTO, YOSHIMURA
D21       JEFFERSON, JOHNSON, MARINO, MONTEVERDE, PEREZ, PULASKI, SMITH         
E01       GEYER                                                                 
E11       HENDERSON, PARKER, SCHNEIDER, SCHWARTZ, SETRIGHT, SMITH, SPRINGER     
E21       ALONZO, GOUNOT, LEE, MEHTA, SPENSER, WONG                             

El APAR PI73929 ha entregado código funcional para dar soporte a la función incorporada LISTAGG.

Detalles de activación de nivel de función 501

Tabla 1. Detalles de activación para el nivel de función 501.
Habilitación de APAR: PI70535
Nivel mínimo de catálogo necesario: V12R1M500
Control de compatibilidad de aplicaciones: El uso del nivel de la función incorporada de LISTAGG requiere el nivel de compatibilidad de aplicación V12R1M501 o superior.

Los clientes y controladores de servidor de datos IBM que utilizan las prestaciones en el nivel de función 501 o están enlazados con el nivel de compatibilidad de aplicación V12R1M501 o superior, requieren pasos de preparación de programas adicionales. Si desea más instrucciones, consulte Niveles de compatibilidad de aplicaciones V12R1Mnnn para clientes y controladores de servidor de datos.

Cómo activar el nivel de función 501

Los pasos siguientes resumen el proceso para activar este nivel de función. Para obtener más información sobre cómo activar y controlar la adopción de nuevas funciones disponibles para su uso en el entorno Db2 12 y la entrega continua en general, consulte Adopción de nuevas funciones en la entrega continua en Db2 12.

Para activar el nivel de función 501 de Db2 12, realice los pasos siguientes:
  1. Para una nueva instalación de Db2 12, sáltese el paso 3. De lo contrario, verifique que la reserva para Db2 11 y la coexistencia en la compartición de datos ya no son necesarios en el entorno de Db2 12.
  2. Si Db2 se ha migrado desde Db2 11 y el nivel de función 500 aún no está activado, siga los pasos de Activación de funciones nuevas de Db2 12 en la migración.
  3. Compruebe que Db2 esté a un nivel de código suficiente emitiendo un mandato DISPLAY GROUP, tal como se describe en Determinación del nivel de código, nivel de catálogo y nivel de función de Db2. El mensaje DSN7100I indica el nivel de código Db2 bajo DB2 LVL en los detalles del miembro. Si DB2 LVL para cualquier miembro es inferior a 121501, aplique el PTF para el APAR PI70535 y cualquier otro mantenimiento necesario, de modo que todos los miembros indiquen 121501.
    Consejo: Puede aplicar cualquier PTF a cualquier nivel de función y es mejor ejecutar Db2 en este nivel de código o uno superior durante un período de tiempo antes de continuar con la activación del nivel de función. Db2 no se puede ejecutar en ningún nivel de código inferior después de activar un nivel de función, por lo que no se puede eliminar ninguno de los PTF necesarios después de activar un nivel de función.
  4. Adapte los trabajos de activación de CATMAINT y de nivel de función ejecutando la CLIST de instalación:
    1. En el panel DSNTIPA1, especifique INSTALL TYPE == = > ACTIVATE. A continuación, especifique el nombre del miembro de salida de la activación de nivel de función anterior (o migración) en el campo INPUT MEMBER y especifique un nuevo nombre de miembro en el campo OUTPUT MEMBER.
    2. En el panel DSNTIP00, especifique TARGET FUNCTION LEVEL ===> V12R1M501. CLIST utiliza este valor cuando adapta el mandato ACTIVATE en el trabajo DSNTIJAF y la sentencia de control del programa de utilidad CATMAINT en el trabajo DSNTIJTC.
    3. Continúe con los paneles CLIST restantes y espere a que CLIST adapte los trabajos para el proceso de activación. El conjunto de datos de salida contiene los trabajos personalizados para el proceso de activación.
  5. Ejecute el trabajo DSNTIJIC para tomar una copia de imagen del catálogo y el directorio de Db2.
  6. Ejecute el trabajo DSNTIJTC o ejecute el programa de utilidad CATMAINT con LEVEL V12R1M501 para actualizar al nivel de catálogo adecuado. Si se necesitan varias actualizaciones de catálogo, el trabajo CATMAINT procesa cada actualización en orden secuencial. Si falla una actualización posterior de la secuencia, las actualizaciones anteriores que son satisfactorias no se retrotraen y el nivel de catálogo permanece al nivel más alto alcanzado. Si ocurre esto, puede corregir el motivo de la anomalía y volver a enviar el mismo trabajo CATMAINT.
  7. Opcionalmente, compruebe que Db2 está preparado para la activación del nivel de función emitiendo el siguiente mandato ACTIVATE con la opción TEST:
    -ACTIVATE FUNCTION LEVEL (V12R1M501) TEST
    El mensaje DSNU757I indica los resultados. Para obtener más información, consulte Prueba de activación de nivel de función de Db2.
  8. Ejecute el trabajo DSNTIJAF personalizado o emita el siguiente mandato ACTIVATE:
    -ACTIVATE FUNCTION LEVEL (V12R1M501)
  9. Si está preparado para que las aplicaciones hagan uso de las nuevas funciones en este nivel de función, vuelva a enlazarlas en el nivel de compatibilidad de aplicación correspondiente. Para obtener más información, consulte Control de compatibilidad de aplicaciones Db2.
    Opcionalmente, cuando esté preparado para que todas las aplicaciones hagan uso de las nuevas funciones del nivel de función de destino, puede ejecutar los siguientes trabajos:
    1. Ejecute DSNTIJUZ para modificar el módulo de parámetros del subsistema con el valor APPLCOMPAT especificado en el panel DSNTIP00.
    2. Ejecute el trabajo DSNTIJOZ para emitir el mandato SET SYSPARM para que el parámetro de subsistema APPLCOMPAT se ponga en línea.
    3. Ejecute el trabajo DSNTIJUA para modificar el módulo de valores predeterminados de la aplicación de sólo datos de Db2 con el valor de SQLLEVEL especificado en el panel DSNITP00.

Cambios incompatibles del nivel de función 501

El nivel de función 501 no introduce cambios incompatibles.

Para todos los cambios incompatibles en Db2 12, consulte Cambios incompatibles en Db2 12