#compile_clause
compile_clause::=
compiler_parameters_clause::=
compile_clause用于执行某个对象的重编译。
如果重编译的对象有任何依赖的对象失效,系统将首先重编译这些依赖的对象。
对一个对象重编译成功后,该对象将被置为有效状态。如果重编译失败,系统返回相应报错,该对象变为无效状态,且系统会同时失效依赖于该对象的其他对象。
# 重编译选项
# debug
用于语法兼容,无实际含义。
# package|specification|body
用于指定重编译的范围,可省略,则默认为PACKAGE。只能在重编译自定义高级包时指定此选项。
PACKAGE
重编译高级包的HEAD和BODY(如果存在)。
SPECIFICATION
重编译高级包的HEAD。
BODY
重编译高级包的BODY。
# compiler_parameters_clause
指定重编译的参数,可指定的parameter_name及parameter_value见下文描述。
# reuse settings
用于语法兼容,无实际含义。
# 重编译参数
详细参数见下表:
parameter_name | 描述 | parameter_value |
---|---|---|
PLSCOPE_SETTINGS | 用于语法兼容,无实际含义 | v:c {, v:c} v为IDENTIFIERS|STATEMENTS c为ALL|NONE|PLSQL|SQL|PUBLIC(for IDENTIFIERS)或ALL|NONE(for STATEMENTS) |
PLSQL_CCFLAGS | 用于语法兼容,无实际含义 | v:c {, v:c} v为YashanDB的某个保留关键字 c为true|false |
PLSQL_CODE_TYPE | 用于语法兼容,无实际含义 | INTERPRETED|NATIVE |
PLSQL_OPTIMIZE_LEVEL | 用于语法兼容,无实际含义 | 0~3之间的一个整数 |
PLSQL_WARNINGS | 用于语法兼容,无实际含义 | v:c {, v:c} v为ENABLE|DISABLE|ERROR c为ALL|SEVERE|INFORMATIONAL|PERFORMANCE |integer|(integer,interger...) |
NLS_LENGTH_SEMANTICS | 用于语法兼容,无实际含义 | NLS_LENGTH_SEMANTICS=BYTE|CHAR |
PERMIT_92_WRAP_FORMAT | 用于语法兼容,无实际含义 | true|false |
PLSQL_DEBUG | 用于语法兼容,无实际含义 | true|false |
示例(单机、共享集群部署)
ALTER PACKAGE sales.calc_fee COMPILE PLSCOPE_SETTINGS='IDENTIFIERS:PLSQL,IDENTIFIERS:SQL,STATEMENTS:NONE';