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
DROP FUNCTION function_name(argument_types)Entradas
| 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
| 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
- 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
- Para descartar una función de ejemplo myfunc(char(12)), especifique:
MYDB.SCHEMA(MYUSER)=> DROP FUNCTION myfunc(char(12));