Compiler construction PL/SQL常量变量ś;汇编考虑

Compiler construction PL/SQL常量变量ś;汇编考虑,compiler-construction,plsql,oracle11g,Compiler Construction,Plsql,Oracle11g,指 PL/SQL编译器如何处理这种方法: 函数解析器(在VARCHAR2中的值中)返回VARCHAR2是 LC_PARAM常量VARCHAR2(10):=“用户名”; LC_MSG CONSTANT VARCHAR2(80):=REPLACE('Hello USERNAME!你好吗?'),LC_PARAM,IN_VALUE); 开始 返回替换(LC_MSG、LC_PARAM、LC_PARAM); 端解析器; 甚至这个: 函数解析器(在VARCHAR2的参数中, VARCHAR2中的IN_值)返

指 PL/SQL编译器如何处理这种方法:

函数解析器(在VARCHAR2中的值中)返回VARCHAR2是
LC_PARAM常量VARCHAR2(10):=“用户名”;
LC_MSG CONSTANT VARCHAR2(80):=REPLACE('Hello USERNAME!你好吗?'),LC_PARAM,IN_VALUE);
开始
返回替换(LC_MSG、LC_PARAM、LC_PARAM);
端解析器;
甚至这个:

函数解析器(在VARCHAR2的参数中,
VARCHAR2中的IN_值)返回VARCHAR2为
LC_MSG CONSTANT VARCHAR2(80):=REPLACE('Hello USERNAME!你好吗?'),IN_PARAM,IN_VALUE);
开始
返回替换(LC_MSG、IN_参数、IN_参数);
端解析器;

问题是“这两段代码是否具有相似的性能特征”?还是你在问别的问题?更多关于编译器如何处理这个问题的信息。在你的文章中,常量变量是内联编译的。我仍然不确定我是否理解这个问题。您不是在问这两种方法的性能特征吗?您是否询问编译器生成的中间语言代码?您是否在询问内联代码的特定优化?还有别的吗?对不起,我的英语还没学呢。我在问PL/SQL编译器是如何以严格的低级方式处理此类常量的。也许在我的第二个问题示例中,变量
LC_MSG
被编译为标准局部变量,并且只有语法验证阻止将任何字符串分配给该变量?您发布的代码示例毫无意义:它们使用相同的字符串作为目标变量和替换变量。所以我的建议是放弃函数。也许,如果你能给出一个恰当的例子,我们将有更好的机会理解你试图理解的观点。