使用 ALTER FUNCTION 语句更改用户定义函数的例程修饰符或路径名。该语句是 SQL ANSI/ISO 标准的扩展。
语法
用法
ALTER FUNCTION 语句可以修改用户定义的函数,以通过修改控制该函数如何运行的特征来调整其性能。您也可以添加或替换相关的用户定义的例程(UDR),这些例程为可以提供性能的查询优化器提供了另一选择。
所有修改在该函数下一次调用时生效。
只有 UDR 所有者或 DBA 可以使用 ALTER FUNCTION 语句。
引入修改的关键字
使用以下关键字引入您在 UDR 中所做的修改。
关键字 对指定例程修饰符的影响
ADD 向 UDR 添加一个新的例程修饰符
MODIFY 更改例程修饰符的属性
DROP 从 UDR 中删除该例程修饰符
MODIFY EXTERNAL NAME (仅限于外部函数) 替换可执行文件的文件规范。当 IFX_EXTEND_ROLE 配置参数为 ON 时,此选项只对被 DBSA 授予 EXTEND 角色的用户有效。当 IFX_EXTEND_ROLE 为 OFF (或未设置)时,UDR 所有者或 DBA 可以使用此选项
WITH 引入所有修改
如果例程修饰符为 BOOLEAN 值,则 MODIFY 将该值设置为 t (相当于使用关键字 ADD 添加该例程修饰符)。例如,下面这两个语句都更改了 func1 函数,这样它可以在可并行数据查询的环境中并行执行:
ALTER FUNCTION func1 WITH (MODIFY PARALLELIZABLE);
ALTER FUNCTION func1 WITH (ADD PARALLELIZABLE);
另见 更改例程修饰符示例 。