Designadores de función en Db2 for z/OS
Este tema describe la sintaxis SQL para fragmentos que identifican funciones incorporadas o definidas por el usuario en sentencias como ALTER FUNCTION, GRANT y REVOKE. El designador de función identifica la función SQL por su nombre, una firma de función que identifica la función de forma única o su nombre específico.
Sintaxis para designador de función (ALTER FUNCTION )
- 1 AS LOCATOR sólo puede especificarse para un tipo de datos LOB o un tipo distinto basado en un tipo de datos LOB.
- 2 Para el diagrama sintáctico de este fragmento, véase Sintaxis para built-in-type.
- 3 array-type-name sólo se admite para funciones escalares SQL compiladas.
Sintaxis del indicador de función (GRANT o REVOKE)
- 1 AS LOCATOR sólo puede especificarse para un tipo de datos LOB o un tipo distinto basado en un tipo de datos LOB.
- 2 Para el diagrama sintáctico de este fragmento, véase Sintaxis para built-in-type.
- 3 array-type-name sólo se admite para funciones escalares SQL compiladas.
Sintaxis para built-in-type
Para obtener descripciones de los tipos de datos incorporados en el siguiente diagrama, consulte Tipos de datos en Db2 for z/OS.
- FUNCIÓN nombre-función
Identifica la función por su nombre. La función puede tener cualquier número de parámetros definidos para ella.
La dirección function-name debe identificar exactamente una función en el esquema especificado o implícito. Si hay más de una función en el esquema, o el esquema no contiene una función con nombre-función, se devuelve un error.
Para una función escalar inlined o una función escalar SQL compilada, sólo los 30 primeros parámetros determinan la unicidad de la función.
- FUNCTION nombre-función (tipo-parámetro,...)
- Identifica la función SQL por su firma de función, que identifica la función de forma única.
- nombre-función
- Proporciona el nombre de la función escalar SQL alineada.
Si se especifica function-name (), la función identificada debe tener cero parámetros.
- (tipo de parámetro,...)
- Especifica el número de parámetros de entrada de la función y el nombre y tipo de datos de cada parámetro.
- (tipo de datos,...)
Identifica el número de parámetros de entrada de la función y el tipo de datos de cada parámetro. El tipo de datos de cada parámetro debe coincidir con el tipo de datos especificado en la sentencia CREATE FUNCTION para el parámetro en la posición correspondiente.
Para los tipos de datos que tienen un atributo de longitud, precisión o escala, puede utilizar un conjunto de paréntesis vacíos, especificar un valor o aceptar los valores predeterminados:
- Los paréntesis vacíos indican que Db2 debe ignorar el atributo a la hora de determinar si los tipos de datos coinciden.
Por ejemplo, DEC() se considerará una coincidencia para un parámetro de una función definida con un tipo de datos DEC(7,2). Del mismo modo, DECFLOAT() se considerará compatible con DECFLOAT(16) o DECFLOAT(34).
FLOAT no puede especificarse con paréntesis vacíos porque el valor de su parámetro indica tipos de datos diferentes (REAL o DOUBLE).
- Si utiliza un valor específico para un atributo de longitud, precisión o escala, el valor debe coincidir exactamente con el valor especificado (implícita o explícitamente) en la sentencia CREATE FUNCTION.
El valor específico para FLOAT (n ) no tiene que coincidir exactamente con el valor definido de la función fuente porque
1<=n<=21indica REAL y22<=n<=53indica DOUBLE. La coincidencia se basa en si el tipo de datos es REAL o DOUBLE. - Si no se especifica explícitamente la longitud, la precisión o la escala y no se especifican paréntesis vacíos, la longitud por defecto del tipo de datos es implícita. La longitud implícita debe coincidir exactamente con el valor especificado (implícita o explícitamente) en la sentencia CREATE FUNCTION.
Para los tipos de datos con un atributo de subtipo o esquema de codificación, especificar la cláusula FOR subtype DATA o la cláusula CCSID es opcional. La omisión de cualquiera de estas cláusulas indica que Db2 debe ignorar el atributo a la hora de determinar si los tipos de datos coinciden. Si especifica cualquiera de las dos cláusulas, debe coincidir con el valor que se especificó implícita o explícitamente en la sentencia CREATE FUNCTION.
- Los paréntesis vacíos indican que Db2 debe ignorar el atributo a la hora de determinar si los tipos de datos coinciden.
- tipo-incorporado
- Para obtener descripciones de los tipos de datos incorporados, consulte Tipos de datos y la descripción de built-in-type en la sentencia CREATE TABLE.
- nombre-tipo-diferenciado
- El nombre de un tipo distinto. Para más información, véase Tipos distintos.
Para obtener más información sobre la especificación de la lista de parámetros, consulte la sentencia CREATE FUNCTION (descripción general).
Una función con la firma de función debe existir en el esquema especificado explícita o implícitamente.
- FUNCIÓN ESPECÍFICA nombre-específico
- Identifica la función por su nombre específico. El nombre está implícita o explícitamente cualificado con un nombre de esquema. El nombre específico debe identificar una función específica que exista en el servidor actual.
