适用于:
Databricks SQL
Databricks Runtime
删除临时或永久的用户定义的函数 (UDF)。
Permissions
要在 Unity 目录中丢弃函数,你必须拥有MANAGE该函数的权限或是其所有者,同时还USE CATALOGUSE SCHEMA要拥有该函数所在的目录和模式。
根据 对象层次结构,父架构或目录的所有者以及具有 MANAGE 任一对象的用户也可以执行此操作。 他们所需的使用权限取决于他们所拥有的所有权或 MANAGE。 请参阅 MANAGE 的使用权限要求。
语法
DROP [ TEMPORARY ] FUNCTION [ IF EXISTS ] function_name
参数
-
现有函数的名称。 可选择使用架构名称来限定函数名称。
TEMPORARY
用于删除
TEMPORARY函数。IF EXISTS
如果已指定,则仅在函数存在时才会引发异常。
示例
-- Create a permanent function `hello`
> CREATE FUNCTION hello() RETURNS STRING RETURN 'Hello World!';
-- Create a temporary function `hello`
> CREATE TEMPORARY FUNCTION hello() RETURNS STRING RETURN 'Good morning!';
-- List user functions
> SHOW USER FUNCTIONS;
default.hello
hello
-- Drop a permanent function
> DROP FUNCTION hello;
-- Try to drop a permanent function which is not present
> DROP FUNCTION hello;
Error: ROUTINE_NOT_FOUND
-- List the functions after dropping, it should list only temporary function
> SHOW USER FUNCTIONS;
hello
-- Drop a temporary function if exists
> DROP TEMPORARY FUNCTION IF EXISTS hello;