# DROP FUNCTION

The `DROP FUNCTION` command removes a single function from the specified database, including user-defined scalar-valued functions (UDFs) and user-defined table-valued functions (TVFs).

## Syntax

```sql
DROP FUNCTION [IF EXISTS] {function_name | database_name.function_name} [WITH ID <variant ID>] [FORCE]

```

## Remarks

* Only one function can be removed using the `DROP FUNCTION` command.
* If `DROP FUNCTION` is executed for a function that does not exist, the following error occurs:
  ```sql
  DROP FUNCTION myfunction;
  ERROR 1998 (HY000): Function 'db1.myfunction' doesn't exist
  ```
* However, if the `IF EXISTS` condition is used and the function does not exist, no error occurs:
  ```sql
  DROP FUNCTION IF EXISTS myfunction;
  Query OK, 0 rows affected (0.00 sec)
  ```
* Specify the `FORCE` option to remove a function (UDF) created by an [Extension](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/extensions.md). You must have the `DROP EXTENSION` permission to use this option.
* This command causes implicit commits. Refer to [COMMIT](https://docs.singlestore.com/db/v9.1/reference/sql-reference/data-manipulation-language-dml/commit.md) for more information.
* Refer to the [Permissions Matrix](https://docs.singlestore.com/db/v9.1/reference/sql-reference/security-management-commands/permissions-matrix.md) for the required permissions.
* If a function is overloaded, `DROP FUNCTION` requires the function's variant ID which is available in [SHOW FUNCTIONS](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/show-functions.md). Refer to [Overloaded Functions and Stored Procedures](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/overloaded-functions-and-stored-procedures/#section-id235451809568514.md) for more information.

## Examples

**Drop a Function in the Current Database**

The following example removes an existing function from the current database.

Refer to [Overloaded Functions and Stored Procedures](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/overloaded-functions-and-stored-procedures.md) for an example of dropping an overloaded function.

```sql
SHOW FUNCTIONS;

```

```output

+------------------+-----------------------+
| Functions_in_db1 | Function Type         |
+------------------+-----------------------+
| myfunction       | User Defined Function |
+------------------+-----------------------+
1 row in set (0.00 sec)

```

```sql
DROP FUNCTION myfunction;

SHOW FUNCTIONS;

```

```output

Query OK, 0 rows affected (0.07 sec)
```

**Dropping a Function in Another Database**

The following example removes an existing function while connected to another database in your SingleStore cluster.

```sql
USE db1;

SHOW FUNCTIONS;

```

```output

+------------------+-----------------------+
| Functions_in_db1 | Function Type         |
+------------------+-----------------------+
| myfunction       | User Defined Function |
+------------------+-----------------------+
1 row in set (0.00 sec)

```

```sql
USE db2;

DROP FUNCTION db1.myfunction;

```

```output

Query OK, 0 rows affected (0.05 sec)
```

```sql
USE db1;

SHOW FUNCTIONS;

```

```output

Query OK, 0 rows affected (0.07 sec)
```

**Related Topics**

* [SHOW FUNCTIONS](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/show-functions.md)
* [CREATE FUNCTION (UDF)](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/create-function-udf.md)
* [CREATE FUNCTION (TVF)](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/create-function-tvf.md)

***

Modified at: June 11, 2026

Source: [/db/v9.1/reference/sql-reference/procedural-sql-reference/drop-function/](https://docs.singlestore.com/db/v9.1/reference/sql-reference/procedural-sql-reference/drop-function/)

(An index of the documentation is available at /llms.txt)
