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.

## 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

• For Java UDFs that store code in a file (e.g. a .jar 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 .jar file and does not remove that .jar file when there are no remaining references.

## Examples¶

This demonstrates the DROP FUNCTION command:

DROP FUNCTION multiply(number, number);

--------------------------------+
status             |
--------------------------------+
MULTIPLY successfully dropped. |
--------------------------------+