VastbaseE100

基于开源技术的HTAP数据库管理系统。性能优异,稳定可靠,提供诸多专属领域特性。

Menu

DROP FUNCTION

DROP FUNCTION - 删除功能

语法格式

DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
    [ CASCADE | RESTRICT ]

说明

DROP FUNCTION删除现有函数的定义。要执行此命令,用户必须是该函数的所有者。必须指定函数的参数说明类型,因为可以存在具有相同名称和不同参数说明列表的多个不同函数。

参数说明

  • IF EXISTS

    如果该函数不存在则不要抛出一个错误,而是发出一个提示。

  • name

    一个现有函数的名称(可以是模式限定的)。 如果未指定参数列表,则该名称在其模式中必须是唯一的。

  • argmode

    一个参数的模式:IN、OUT、 INOUT或者VARIADIC。如果被忽略, 则默认为IN。注意 DROP FUNCTION并不真正关心 OUT参数,因为决定函数的身份时只需要输入参数。 因此列出IN、INOUT和 VARIADIC参数足以。

  • argname

    一个参数的名称。注意 DROP FUNCTION并不真正关心 参数名称,因为决定函数的身份时只需要参数的数据类型。

  • argtype

    如果函数有参数,这是函数参数的数据类型(可以是模式限定的)。

  • CASCADE

    自动删除依赖于该函数的对象(例如操作符和触发器),然后删除所有 依赖于那些对象的对象(见第 5.13 节)。

  • RESTRICT

    如果有任何对象依赖于该函数,则拒绝删除它。这是默认值。

示例

此命令删除平方根函数:

DROP FUNCTION sqrt(integer);

在一个命令中删除多个函数:

DROP FUNCTION sqrt(integer), sqrt(bigint);

如果函数名称在其模式中是唯一的,则可以在没有参数说明列表的情况下引用它:

DROP FUNCTION update_employee_salaries;

请注意,这与…不同

DROP FUNCTION update_employee_salaries();

它引用具有零参数说明的函数,而第一个变量可以引用具有任意数量参数说明的函数,包括零,只要该名称是唯一的。