DROP FUNCTION

Utilice el mandato DROP FUNCTION para eliminar una función definida por el usuario existente de una base de datos. Cuando descarta una función, los archivos de objeto de función también se eliminan del repositorio de objetos del código de usuario.

Sinopsis

Sintaxis para descartar una función definida por el usuario:
DROP FUNCTION function_name(argument_types)

Entradas

El mandato DROP FUNCTION recibe las entradas siguientes:
Tabla 1. Entradas de DROP FUNCTION
Entrada Descripción
FUNCTION_NAME Especifica el nombre de una función existente definida por el usuario. Para sistemas que admiten varios esquemas, puede especificar un nombre en el formato esquema.función para descartar una función de un esquema diferente de la base de datos actual. No puede descartar una función de una base de datos diferente.
tipos_de_argumentos Especifica una lista de tipos de datos de argumentos completos para identificar la función de forma exclusiva. Se admiten todos los tipos de datos Netezza Performance Server. Las series deben incluir un tamaño, o bien ANY para tamaños genéricos. Los tipos NUMERIC deben incluir precisión y escala, o bien ANY para tamaños específicos. También puede especificar el valor VARARGS para descartar una función de argumento de variables.

Resultados

El mandato DROP FUNCTION tiene las salidas siguientes:
Tabla 2. Salidas de DROP FUNCTION
Resultado Descripción
DROP FUNCTION Mensaje que el sistema devuelve si el mandato se ejecuta correctamente.
ERROR: Name: No such function El mensaje que devuelve el sistema si la función especificada no existe en la base de datos actual.
Error: DropFunction: existing UDX name(argument_types) differs in size of string/numeric arguments Este error indica que existe un UDX con el nombre pero tiene especificados diferentes tamaños para los argumentos de serie o numéricos. Para descartar la función, asegúrese de especificar la lista de tipos de argumento exacta con los tamaños correctos.
ERROR: Can't delete function name - object depends on it Mensaje que devuelve el sistema si se hace referencia a un UDF de una tabla o una vista. No puede descartar una UDF hasta que no se haya resuelto la dependencia.

Descripción

No puede descartar una función definida por el usuario que está en uso en una consulta activa. Una vez finalizada la transacción de consulta activa, el sistema Netezza Performance Server procesa el comando DROP FUNCTION para eliminar la función. La función debe estar definida en la base de datos actual.

No puede descartar una UDF a la que hace referencia una tabla o vista existente. Para obtener más información sobre cómo resolver las dependencias de las UDF que desea eliminar, consulteComprobación de dependencias antes de soltar las UDX.

Privilegios necesarios

Para descartar una UDF, debe cumplir uno de los criterios siguientes:
  • Debe tener el privilegio Drop para el objeto FUNCTION.
  • Debe tener el privilegio Drop para el objeto UDF específico.
  • Debe ser el propietario de la UDF.
  • Debe ser el usuario administrador de base de datos, el propietario de la base de datos actual o el propietario del esquema actual (en sistemas con soporte para varios esquemas).

Tareas comunes

Utilice el mandato DROP FUNCTION para descartar una función existente de una base de datos.

Uso

A continuación se proporciona ejemplo de uso.
  • Para descartar una función de ejemplo myfunc(char(12)), especifique:
    MYDB.SCHEMA(MYUSER)=> DROP FUNCTION myfunc(char(12));