我多次在另一个包中引用相同的单个存储过程
我想知道你是否可以为其他程序创建一个包级别的同义词,而不是每一个都使用pkg_name.
?
这也会给它一些继承。
基本上,我试图在Java中模仿static import
或extends
。
CREATE OR REPLACE PACKAGE BODY pkg
IS
PROCEDURE test
IS
BEGIN
some_name_utils.do_lots_of_stuff()
END;
BEGIN
END;
/
CREATE OR REPLACE PACKAGE pkg
IS
SYNONYM do_lots_of_stuff FOR some_name_utils.do_lots_of_stuff;
PROCEDURE test;
END;
/
CREATE OR REPLACE PACKAGE BODY pkg
IS
PROCEDURE test
IS
BEGIN
do_lots_of_stuff()
END;
BEGIN
END;
/
答案 0 :(得分:5)
我不确定我是否可以说我同意这种做法;如果其他包更改,您还必须记住在此更新它。但是,以下内容可以满足您的目的。
CREATE OR REPLACE PACKAGE BODY pkg
IS
PROCEDURE do_lots_of_stuff
IS
BEGIN
some_name_utils.do_lots_of_stuff();
END;
PROCEDURE test
IS
BEGIN
do_lots_of_stuff;
END;
BEGIN
END;
/