Funciones integradas y funciones que se suministran con Db2
Una función es una operación indicada por un nombre de función seguido de cero o más valores de entrada que están entre paréntesis. Representa una relación entre un conjunto de valores de entrada y un conjunto de valores resultantes. Los valores de entrada de una función se denominan argumentos. Las funciones integradas incluyen funciones de operador como «+», funciones agregadas como AVG y funciones escalares como SUBSTR, mientras que las funciones definidas por el usuario se crean mediante la instrucción CREATE FUNCTION y se registran en el catálogo de funciones ( Db2 ) del sistema. Db2. proporciona algunas funciones definidas por el usuario.
Los tipos de funciones son agregadas, escalares y de tabla. Una función incorporada se clasifica como función agregada, función escalar o función de tabla. Una función definida por el usuario puede ser una función escalar o una función de tabla.
Si se utiliza una máscara de columna para enmascarar los valores de columna en la tabla de resultados finales y se aplica una máscara de columna a una columna que es un argumento para una función, el resultado de la función podría ser diferente porque la máscara de columna se aplica a la columna antes de que pueda tener lugar la operación de la función. Por ejemplo, aplicar una máscara de columna a la columna SSN puede cambiar el resultado de la función agregada, COUNT(DISTINCT SSN).
La operación DISTINCT se realiza en los valores de columna sin enmascarar. La palabra clave DISTINCT no es un argumento de la función, sino más bien una especificación de una operación que se realiza antes de aplicar la función. Si se especifica DISTINCT, los valores duplicados redundantes se eliminan antes de aplicar la máscara de columna. Si la columna en la función agregada con la palabra clave DISTINCT tiene una definición de máscara de columna que hace referencia a columnas que no son de agrupación y no son la columna de destino de la operación DISTINCT, el resultado de la función agregada puede variar. Db2 no garantiza que se devuelva la misma fila de un grupo de duplicados en cada ejecución, por lo que los valores de las columnas no DISTINCT/no agrupadas en la fila devuelta podrían ser diferentes cada vez.
La especificación OLAP y las funciones integradas
Las especificaciones RANK, DENSE_RANK y ROW_NUMBER se denominan a veces funciones integradas. Para más información sobre estas especificaciones, consulte Especificaciones OLAP.
Funciones definidas por el usuario que se suministran con Db2
Las funciones definidas por el usuario son funciones que se crean utilizando la instrucción CREATE FUNCTION y se registran en el catálogo de funciones ( Db2 ) del sistema. Db2. proporciona algunas funciones definidas por el usuario. Algunos ejemplos incluyen los siguientes tipos de funciones definidas por el usuario suministradas:
- Funciones del programador de tareas administrativas, que proporcionan información y estado sobre las tareas programadas para ejecutarse mediante el programador de tareas administrativas. El programador de tareas administrativas ofrece la posibilidad de ejecutar procedimientos almacenados, trabajos JCL y otras tareas administrativas según un horario basado en el tiempo o en eventos. Para obtener más información, consulte Programación de tareas administrativas.
La función de tabla BLOCKING_THREADS, que puede ayudarle a identificar aplicaciones, actividades y recursos de e Db2 , que podrían ser incompatibles con las migraciones y actualizaciones de catálogos, para que pueda tomar las medidas adecuadas de antemano y minimizar la posibilidad de que la migración falle. Para obtener más información, consulte Identificar aplicaciones que son incompatibles con la migración en línea y la función de tabla BLOCKING_THREADS.
- Db2 MQ que le ayudan a integrar la mensajería de l IBM® MQ s con las aplicaciones de bases de datos. Puede utilizar las funciones para acceder a la mensajería de SQL ( IBM MQ ) desde instrucciones SQL y combinar la mensajería de SQL ( IBM MQ ) con el acceso a la base de datos de Oracle ( Db2 ). Para obtener más información sobre el uso de las funciones de IBM MQ , consulte la información sobre cómo habilitar las funciones de IBM MQ en Pasos adicionales para habilitar las funciones definidas por el usuario de IBM MQ y sobre técnicas de programación en IBM MQ con Db2.
Una función definida por el usuario reside en el esquema en el que se registró. Las funciones definidas por el usuario que se suministran generalmente tienen un esquema distinto de SYSIBM.