DROP ROUTINE

DROP ROUTINE — elimina una rutina

Synopsis

DROP ROUTINE [ IF EXISTS ] nombre [ ( [ [ modo_arg ] [ nombre_arg ] tipo_arg [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]

Descripción

DROP ROUTINE elimina la definición de una o más rutinas existentes. El término rutina incluye funciones de agregación, funciones normales y procedimientos. Consulta las secciones DROP AGGREGATE, DROP FUNCTION y DROP PROCEDURE para obtener la descripción de los parámetros, más ejemplos y detalles adicionales.

Notas

Las reglas de búsqueda utilizadas por DROP ROUTINE son fundamentalmente las mismas que para DROP PROCEDURE; en particular, DROP ROUTINE comparte el comportamiento de ese comando al considerar que una lista de argumentos que no tiene marcadores modo_arg podría estar utilizando la definición del estándar SQL en la que se incluyen los argumentos OUT en la lista. (DROP AGGREGATE y DROP FUNCTION no hacen eso).

En algunos casos en los que el mismo nombre es compartido por rutinas de diferentes tipos, es posible que DROP ROUTINE falle con un error de ambigüedad cuando un comando más específico (DROP FUNCTION, etc.) funcionaría. Especificar la lista de tipos de argumentos con mayor cuidado también resolverá dichos problemas.

Estas reglas de búsqueda también las utilizan otros comandos que actúan sobre rutinas existentes, como ALTER ROUTINE y COMMENT ON ROUTINE.

Ejemplos

Para eliminar la rutina foo para el tipo integer:

DROP ROUTINE foo(integer);

Este comando funcionará independientemente de si foo es una agregación, una función o un procedimiento.

Compatibilidad

Este comando cumple con el estándar SQL, con las siguientes extensiones de PostgreSQL:

  • El estándar solo permite eliminar una rutina por comando.

  • La opción IF EXISTS es una extensión.

  • La capacidad de especificar los modos y nombres de los argumentos es una extensión, y las reglas de búsqueda difieren cuando se especifican los modos.

  • Las funciones de agregación definidas por el usuario son una extensión.

Véase también

DROP AGGREGATE, DROP FUNCTION, DROP PROCEDURE, ALTER ROUTINE

Ten en cuenta que no existe el comando CREATE ROUTINE.