YashanDB compile_clause语法

58 阅读2分钟

本文内容来自YashanDB官网,原文内容请见 doc.yashandb.com/yashandb/23…

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为IDENTIFIERSSTATEMENTS
c为ALLNONEPLSQLSQLPUBLIC(for IDENTIFIERS)或ALLNONE(for STATEMENTS)
PLSQL_CCFLAGS用于语法兼容,无实际含义v:c {, v:c}
v为YashanDB的某个保留关键字
c为truefalse
PLSQL_CODE_TYPE用于语法兼容,无实际含义INTERPRETEDNATIVE
PLSQL_OPTIMIZE_LEVEL用于语法兼容,无实际含义0~3之间的一个整数
PLSQL_WARNINGS用于语法兼容,无实际含义v:c {, v:c}
v为ENABLEDISABLEERROR
c为ALLSEVEREINFORMATIONALPERFORMANCE
integer(integer,interger...)
NLS_LENGTH_SEMANTICS用于语法兼容,无实际含义NLS_LENGTH_SEMANTICS=BYTECHAR
PERMIT_92_WRAP_FORMAT用于语法兼容,无实际含义truefalse
PLSQL_DEBUG用于语法兼容,无实际含义truefalse

示例(单机、共享集群部署)