3
我有一个Oracle包具有恒定值的PKB文件的顶部如下参数Oracle包
create or replace
PACKAGE BODY GEOHELPER AS
g_SRID pls_integer := 4326;
...
...
对于一些客户我想用户4326和一些5638.什么是最好的方法在.bat文件的编译/释放时更改此值?我不想拥有两个版本的软件包。有任何想法吗?
我有一个Oracle包具有恒定值的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
...
谢谢。适合我... – user2837961
看一看条件编译:http://www.oracle.com/technetwork/issue-archive/2006/06-jul/o46plsql-096385.html HTTP:// WWW。 oracle.com/technetwork/database/features/plsql/overview/plsql-conditio nal-compilation-133587.pdf –