gpt4 book ai didi

plsql - Oracle 包的参数

转载 作者:行者123 更新时间:2023-12-02 00:04:44 24 4
gpt4 key购买 nike

我在 PKB 文件的顶部有一个具有常量值的 oracle 包,如下所示

create or replace
PACKAGE BODY GEOHELPER AS

g_SRID pls_integer := 4326;
...
...

对于某些客户,我希望使用 4326,对于某些客户,我希望使用 5638。在编译/发布时从 .bat 文件更改此值的最佳方法是什么?我不想有两个版本的包。有什么想法吗?

最佳答案

如评论中所述,如果您至少使用 Oracle 10g R2,则可以选择条件编译。

在用于包重新编译的脚本中,使用以下 ALTER 设置特定的条件编译标志,您可以在稍后的包编译期间使用它:

ALTER SESSION SET plsql_ccflags='variable_name:1';

然后,在包体中,使用条件编译IF语句:

create or replace
PACKAGE BODY GEOHELPER AS

$IF $$variable_name = 1
$THEN
g_SRID pls_integer := 4326;
$ELSIF $$variable_name = 2
$THEN
g_SRID pls_integer := 5232;
$ELSE
g_SRID pls_integer := 0;
$END

...

关于plsql - Oracle 包的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19133533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com