我有一个包含两个变量的包,这些变量的值如下所示。
person_name CONSTANT VARCHAR2 (15) := 'Adam';
person_city CONSTANT VARCHAR2 (15) := 'Houston';
这个包变量在我的数据库中用于存储过程、其他包等。
现在我希望这些变量具有基于正在调用的客户端服务器的值。我将所有这些都保存在如下表中
Server Parameter Value
Server1 person_name Adam
Server1 person_city Houston
Server2 person_name Victor
Server2 person_city Dallas
因此,当从 server1 引用/调用包/SP 时,我希望我的 person_name 和 person_city 被默认为 Adam 和 Houston。同样,当从 server2 引用/调用包/SP 时,我希望我的 person_name 和 person_city 是 Victor 和 Dallas。
如何才能做到这一点?无论如何在oracle方面,调用特定SP或使用包变量的客户端?我编写了一个函数来获取如下值。
in package,
person_name CONSTANT VARCHAR2 (15) :=GETPARAMVALUE(person_name);
person_city CONSTANT VARCHAR2 (15) :=GETPARAMVALUE(person_city);
在函数中,我将查询表格
select * from parameterstable where parameter = (function's input) and servername = ????
我怎么知道这里的服务器名?
任何帮助/提示将不胜感激。谢谢