USER_FUNCTIONS

返回用户定义的 SQL 函数(将常用的 SQL 表达式作为函数存储在 Vertica 编录中)和用户定义函数的相关元数据。

注意

  • 将根据函数定义自动推断出 SQL 函数的可变性和严格性,以便 Vertica 确定使用的正确性,比如在应该提供不可变函数时却提供了易变函数。

  • UDx 的可变性和严格性由 UDx 开发者予以定义。

示例

在公共架构中创建名为 myzeroifnull 的 SQL 函数:

=> CREATE FUNCTION myzeroifnull(x INT) RETURN INT
   AS BEGIN
     RETURN (CASE WHEN (x IS NOT NULL) THEN x ELSE 0 END);
   END;

现在查询 USER_FUNCTIONS 表。查询仅返回 myzeroifnull 宏,因为它是在此架构中创建的唯一宏:

=> SELECT * FROM user_functions;
-[ RECORD 1 ]----------+---------------------------------------------------
schema_name            | public
function_name          | myzeroifnull
procedure_type         | User Defined Function
function_return_type   | Integer
function_argument_type | x Integer
function_definition    | RETURN CASE WHEN (x IS NOT NULL) THEN x ELSE 0 END
volatility             | immutable
is_strict              | f
is_fenced              | f
comment                |

另请参阅