在Oracle PL / SQL中有没有办法导入包及其成员?

时间:2011-04-13 13:45:36

标签: oracle plsql namespaces packages

给出一个包:

create or replace package foo as
  f1 number := 1;
end;
/

而不是:

declare
begin
  dbms_output.put_line('f1 = ' || foo.f1);
end;
/

我想写:

declare
begin
  -- pseudocode not a valid PL/SQL
  import dbms_output.*;
  import foo.*;
  put_line('f1 = ' || f1);
end;
/

但是怎么做?

Jeff编辑:(努力保持PL / SQL中事情的精神)

DECLARE
  PRAGMA IMPORT dbms_output AS d;
  PRAGMA IMPORT foo AS f;
BEGIN
  d.put_line('f1 = ' || f.f1);
END;
/

2 个答案:

答案 0 :(得分:9)

很简单,你做不到。对不起,但没有其他答案!

答案 1 :(得分:1)

当然可以!

:)有点......

declare
  procedure put_line (p in varchar2) is begin dbms_output.put_line(p); end;
  function f1 return number is begin return foo.f1; end;
begin
   put_line('f1 = ' || f1);
end;
/