5

我有一个系统,我将我的功能分成几个不同的包。目前我正在使用 packagename.object 的点表示法调用函数和过程

我的一些包名(由于公司编码标准)相当长

我可以为包创建别名/同义词以缩短我的代码吗?

即:代替 pkge_member_utilities.CreateMember,我可以为包创建一个同义词/别名“util”,然后在我的代码中使用 util.CreateMember

我已经阅读了 CREATE SYNONYM 的文档,但这很令人困惑,因为它似乎被用于立即执行,而我想在我的代码中引用同义词

再次为模糊的术语道歉,因为我来自 Java 背景

非常感谢您的时间

麦克风

4

2 回答 2

2

尽管我同意上面的评论,但这在很大程度上是为了打破标准。但是,有时标准是可怕的,只要有合适的单元测试,在正确的情况下,有什么害处?

create or replace package long_package_name as
  function give_me_zero return number;
end;
/

create or replace package body long_package_name as
  function give_me_zero return number is begin return 0; end;
end;
/

create or replace synonym pkg for long_package_name;

-- either works the same
select long_package_name.give_me_zero from dual;
select pkg.give_me_zero from dual;
于 2013-10-01T20:01:42.280 回答
0

create public synonym util for <owner>.pkge_member_utilities;

于 2013-10-01T07:54:51.547 回答