这是本节的多页打印视图。 点击此处打印.

返回本页常规视图.

ALTER FUNCTION 语句

Vertica 为每种类型的用户定义的扩展 提供了 ALTER 语句。每个 ALTER 语句都会修改 Vertica 编录中用户定义的函数的元数据:

Vertica 还提供ALTER FUNCTION (SQL),可修改用户定义的 SQL 函数的元数据。

1 - ALTER AGGREGATE FUNCTION

更改用户定义的聚合函数

语法

ALTER AGGREGATE FUNCTION [[db-name.]schema.]function‑name( [ parameter‑list ] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET SCHEMA new‑schema
}

参数

[db-name.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

function‑name
要更改的 SQL 函数的名称。
arg‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET SCHEMA new‑schema
将函数移动到其他架构。

特权

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE AGGREGATE FUNCTION

2 - ALTER ANALYTIC FUNCTION

更改用户定义的分析函数

语法

ALTER ANALYTIC FUNCTION [[db-name.]schema.]function‑name( [ parameter‑list ] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET FENCED boolean‑expr
    | SET SCHEMA new‑schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE ANALYTIC FUNCTION

3 - ALTER FILTER

更改用户定义的筛选器

语法

ALTER FILTER [[db-name.]schema.]function‑name( [ parameter‑list ] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET FENCED boolean‑expr
    | SET SCHEMA new‑schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE FILTER

4 - ALTER FUNCTION (SQL)

更改用户定义的 SQL 函数。

语法

ALTER FUNCTION [[db-name.]schema.]function‑name( [arg‑list] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET SCHEMA new‑schema
}

参数

[db-name.]schema

数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。

function‑name
要更改的 SQL 函数的名称。
arg‑list
函数实参名称的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET SCHEMA new‑schema
将函数移动到其他架构。

特权

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

示例

将函数 SQL_one 重命名为 SQL_two

=> ALTER FUNCTION SQL_one (int, int) RENAME TO SQL_two;

将函数 SQL_two 移动到架构 macros

=> ALTER FUNCTION SQL_two (int, int) SET SCHEMA macros;

重新分配 SQL_two 的所有权:

=> ALTER FUNCTION SQL_two (int, int) OWNER TO user1;

另请参阅

5 - ALTER FUNCTION(标量)

更改用户定义的标量函数

语法

ALTER FUNCTION [[db-name.]schema.]function‑name( [ parameter‑list] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET FENCED boolean‑expr
    | SET SCHEMA new‑schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

示例

将函数 UDF_one 重命名为 UDF_two

=> ALTER FUNCTION UDF_one (int, int) RENAME TO UDF_two;

将函数 UDF_two 移动到架构 macros

=> ALTER FUNCTION UDF_two (int, int) SET SCHEMA macros;

禁用函数 UDF_two 的隔离模式:

=> ALTER FUNCTION UDF_two (int, int) SET FENCED false;

另请参阅

CREATE FUNCTION(标量)

6 - ALTER PARSER

更改用户定义的解析器

语法

ALTER PARSER [[db-name.]schema.]function‑name( [ parameter‑list ] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET FENCED boolean‑expr
    | SET SCHEMA new‑schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE PARSER

7 - ALTER SOURCE

更改用户定义的加载源函数。

语法

ALTER SOURCE [[db-name.]schema.]function‑name( [ parameter‑list ] ) {
    OWNER TO new‑owner
    | RENAME TO new‑name
    | SET FENCED boolean‑expr
    | SET SCHEMA new‑schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE SOURCE

8 - ALTER TRANSFORM FUNCTION

更改用户定义的转换函数

语法

ALTER TRANSFORM FUNCTION [[db-name.]schema.]function-name( [ parameter-list ] ) {
    OWNER TO new-owner
    | RENAME TO new-name
    | SET FENCED { true | false }
    | SET SCHEMA new-schema
}
[db-name.]schema
数据库和架构。默认架构为 public。如果指定一个数据库,它必须是当前数据库。
function‑name
要更改的函数的名称。
parameter‑list
为此函数定义的参数的逗号分隔列表。如果无列表,请指定一个空列表。
OWNER TO new‑owner
将函数所有权转移给其他用户。
RENAME TO new‑name
重命名此函数。
SET FENCED { true | false }
指定是否为此函数启用隔离模式
SET SCHEMA new‑schema
将函数移动到其他架构。

权限

非超级用户:对架构的 USAGE 权限,为以下之一:

  • 函数所有者

  • 对函数的 ALTER 权限

对于某些操作,非超级用户还必须具备以下架构权限:

另请参阅

CREATE TRANSFORM FUNCTION