跳到主要内容

DROP FUNCTION

引入或更新于:v1.2.116

删除一个用户定义函数(User-Defined Function)。适用于所有函数类型:标量 SQL(Scalar SQL)、表 SQL(Tabular SQL)和嵌入式(Embedded)函数。

语法

DROP FUNCTION [ IF EXISTS ] <function_name>

示例

删除标量 SQL 函数

-- 创建标量函数
CREATE FUNCTION calculate_bmi(weight FLOAT, height FLOAT)
RETURNS FLOAT
AS $$ weight / (height * height) $$;

-- 删除函数
DROP FUNCTION calculate_bmi;

删除表 SQL 函数

-- 创建表函数
CREATE FUNCTION get_employees_by_dept(dept_name VARCHAR)
RETURNS TABLE (id INT, name VARCHAR, department VARCHAR)
AS $$ SELECT id, name, department FROM employees WHERE department = dept_name $$;

-- 删除函数
DROP FUNCTION get_employees_by_dept;

删除嵌入式函数

-- 创建 Python 函数
CREATE FUNCTION custom_hash(input_str VARCHAR)
RETURNS VARCHAR
LANGUAGE python
HANDLER = 'hash_func'
AS $$
import hashlib
def hash_func(s):
return hashlib.md5(s.encode()).hexdigest()
$$;

-- 删除函数
DROP FUNCTION custom_hash;

使用 IF EXISTS

-- 安全删除:即使函数不存在也不会报错
DROP FUNCTION IF EXISTS non_existent_function;

-- 即使函数不存在,该语句也会成功执行且不报错
开始使用 Databend Cloud
低成本
快速分析
多种数据源
弹性扩展
注册