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 |