【发布时间】:2013-10-07 06:49:25
【问题描述】:
我有一个系统,我将我的功能分成几个不同的包。目前我正在使用 packagename.object 的点符号调用函数和过程
我的一些包名(由于公司编码标准)相当长
我可以为包创建别名/同义词以缩短我的代码吗?
ie:代替 pkge_member_utilities.CreateMember,我可以为包创建一个同义词/别名“util”,然后在我的代码中使用 util.CreateMember
我已经阅读了 CREATE SYNONYM 的文档,但它似乎被用于立即执行,而我想在我的代码中引用同义词
再次为含糊的术语道歉,因为我来自 Java 背景
非常感谢您的宝贵时间
迈克
【问题讨论】:
-
看来您是故意违反公司的编码标准,不是吗?
-
@beherenow 我是吗?如果我给包提供正确的名称,在代码中通过别名引用它不会真的违反标准/最佳实践吗?
-
按照约定命名对象只是将其包装在同义词中并仅在对象浏览器中查看实际名称是没有意义的,不是吗?为什么不直接将其命名为
util并完成它呢? ) 任何给定约定的一个要点是提供代码可读性 - 您是否通过混淆实际子程序名称并基本上在现有约定之上引入您自己的约定(即“util = pkg_member_utilites”)来增加可读性? ) -
@beherenow - 我知道你现在从哪里来,完全同意。感谢您的澄清。
-
PL/SQL is missing import feature 在some other languages 中可用。我也认为为此使用 SQL 同义词充其量是有问题的。