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 |
PLSQL_CCFLAGS | 用于语法兼容,无实际含义 | v:c {, v:c} |
v为YashanDB的某个保留关键字 | ||
c为true | false | |
PLSQL_CODE_TYPE | 用于语法兼容,无实际含义 | INTERPRETED |
PLSQL_OPTIMIZE_LEVEL | 用于语法兼容,无实际含义 | 0~3之间的一个整数 |
PLSQL_WARNINGS | 用于语法兼容,无实际含义 | v:c {, v:c} |
v为ENABLE | DISABLE | ERROR |
c为ALL | SEVERE | INFORMATIONAL |
integer | (integer,interger…) | |
NLS_LENGTH_SEMANTICS | 用于语法兼容,无实际含义 | NLS_LENGTH_SEMANTICS=BYTE |
PERMIT_92_WRAP_FORMAT | 用于语法兼容,无实际含义 | true |
PLSQL_DEBUG | 用于语法兼容,无实际含义 | true |
示例(单机、共享集群部署)