DROP FUNCTION
使用 DROP FUNCTION
命令删除现有的 用户定义函数(UDF)。
句法
DROP FUNCTION function_name [ ( argument_type [, ...] ) ] ;
参数或子句 | 描述 |
---|---|
function_name | 要删除的 UDF 的名称。 |
( argument_type [ , ... ] ) | 可选:函数的参数类型。 当要删除的函数名称在 schema 中不唯一时,请指定参数类型。 |
用法
可以使用以下方法删除函数:
完整的函数签名:
DROP FUNCTION function_name ( argument_type [, ...] );
如果函数在 schema 中是唯一的,则仅使用函数名:
DROP FUNCTION function_name;
您可以运行
SHOW FUNCTIONS;
列出所有现有的 UDF,查看函数名称是否唯一。
tip
DROP FUNCTION function_name();
可删除无参函数。
只要函数名称是唯一的,DROP FUNCTION function_name;
可删除参数数量为任意值(包括零)的函数。
示例
首先,让我们 创建一些函数.
CREATE FUNCTION f1() RETURNS real LANGUAGE python AS func1 USING LINK 'http://localhost:8815';
CREATE FUNCTION f1(int) RETURNS int LANGUAGE python AS func2 USING LINK 'http://localhost:8815';
CREATE FUNCTION f1(int,int) RETURNS int LANGUAGE python AS func3 USING LINK 'http://localhost:8815';
CREATE FUNCTION f2(int,int) RETURNS int LANGUAGE python AS func4 USING LINK 'http://localhost:8815';
您可以通过函数名称删除唯一的函数:
DROP FUNCTION f2;
当函数名称不唯一时,无法通过函数名称删除函数:
DROP FUNCTION f1;
ERROR: QueryError: Catalog error: function name "f1" is not unique
HINT: Specify the argument list to select the function unambiguously.
可以通过完整签名删除函数:
DROP FUNCTION f1();
DROP FUNCTION f1(int);
现在,f1(int,int)
是唯一命名为 f1
的函数,您可以通过函数名称或完整签名将其删除:
DROP FUNCTION f1;
-- Or DROP FUNCTION f1(int,int);
另请参阅
用户定义函数 — 在 RisingWave 中使用 UDF 的逐步指南:安装 RisingWave UDF API、在 Python 文件中定义函数、启动 UDF 服务器以及在 RisingWave 中声明 UDF。
SHOW FUNCTIONS — 显示所有现有的 UDF。