使用 ALTER PROCEDURE 语句更改先前定义的外部过程的例程修饰符或路径名。该语句是 SQL ANSI/ISO 标准的扩展。
语法

元素 | 描述 | 限制 | 语法 |
procedure | 要修改的用户定义的过程 | 必须在数据库中注册。如果该名称没有唯一地标识函数,您必须为 parameter_type 输入一个或多个相应值 | 标识符 |
parameter_type | 参数的数据类型 | 必须与 procedure 定义中的数据类型相同(并以相同的顺序指定) | 数据类型 |
用法
ALTER PROCEDURE 语句使您可以修改外部过程以调整其性能,方法是修改控制外部过程执行的特征。您一个可以 添加或替换相关 UDR,它们为优化程序(可以提高性能)提供了其它选择。所有的修改在该过程下一次调用时生效。
只有 UDR 所有者或 DBA 可以使用 ALTER PROCEDURE 语句。
如果该过程名称在数据库中注册的例程中不是唯一的,则必须为 parameter_type 输入一个或多个相应值。
以下关键字介绍您在 procedure 中希望修改的内容:
关键字 | 作用 |
ADD | 向 UDR 添加一个新的例程修饰符 |
MODIFY | 更改例程修饰符的属性 |
DROP | 从 UDR 中删除例程修饰符 |
MODIFY EXTERNAL NAME (for external procedures only) | 替换可执行文件的文件规范。当 IFX_EXTEND_ROLE 配置参数为 ON 时,此选项只对被 DBSA 授予 EXTENT 角色的用户有效。当 IFX_EXTEND_ROLE 配置参数为 OFF 时, UDR 所有者或 DBA 可以使用此选项。 |
MODIFY EXTERNAL NAME (for external procedures only) | 替换可执行文件的文件规范(仅对拥有 EXTEND 角色的用户有效) |
WITH | 引入所有修改 |
如果例程修饰符为 BOOLEAN 值,MODIFY 将该值设置为 T (相当于使用关键字 ADD 添加该例程修饰符)。例如:下面这两个语句都更改了 proc1 过程,这样它可以在可并行数据查询的上下文中并行执行:
ALTER PROCEDURE proc1 WITH (MODIFY PARALLELIZABLE);
ALTER PROCEDURE proc1 WITH (ADD PARALLELIZABLE);
另见 更改例程修饰符示例 。




