Categories:

DDL for User-Defined Functions, External Functions, and Stored Procedures

DROP FUNCTION

Removes the specified user-defined function (UDF) or external function from the current/specified schema.

See also:

CREATE FUNCTION , ALTER FUNCTION , SHOW FUNCTIONS, DESCRIBE FUNCTION

Syntax

DROP FUNCTION [ IF EXISTS ] <name> ( [ <arg_data_type> , ... ] )

Parameters

name

Specifies the identifier for the UDF to drop. If the identifier contains spaces or special characters, the entire string must be enclosed in double quotes. Identifiers enclosed in double quotes are also case-sensitive.

arg_data_type [ , ... ]

Specifies the data type of the argument(s), if any, for the UDF. The argument types are necessary because UDFs support name overloading (i.e. two UDFs in the same schema can have the same name) and the argument types are used to identify the UDF you wish to drop.

Usage Notes

All Languages

Dropped functions cannot be recovered; they must be recreated.

Java and Python

For UDFs that store code in a file (such as a .jar file or .py file) in a stage, the DROP FUNCTION command does not remove the file. Different UDFs can use different functions/methods in the same file, so the file should not be removed while any UDF refers to it. Snowflake does not store a count of the number of references to each staged file and does not remove that staged file when there are no remaining references.

Examples

This demonstrates the DROP FUNCTION command:

DROP FUNCTION multiply(number, number);

--------------------------------+
             status             |
--------------------------------+
 MULTIPLY successfully dropped. |
--------------------------------+
Back to top