2011-10-06 修改包头后对变量的引用

2011-10-06 修改包头后对变量的引用

http://www.itpub.net/thread-1499223-2-1.html

13楼


任意有CREATE PROCEDURE权限的用户登录并且执行下列语句:

CREATE OR REPLACE PACKAGE plch_pkg
IS
   g_stuff   VARCHAR2 (10) := 'Stuff';
   PROCEDURE show_stuff;
END;
/
 
CREATE OR REPLACE PACKAGE BODY plch_pkg
IS
   PROCEDURE show_stuff
   IS
   BEGIN
      DBMS_OUTPUT.put_line (g_stuff);
   END;
END;
/
 
BEGIN
   plch_pkg.show_stuff;
END;
/
 
CREATE OR REPLACE PACKAGE plch_pkg
IS
   g_new_stuff   VARCHAR2 (10) := 'NewStuff';
END;
/
 
BEGIN
   DBMS_OUTPUT.put_line (plch_pkg.g_new_stuff);
END;
/


下列的哪个选项正确反映了在执行上述两个匿名块之后, 我屏幕上的显示内容? 

(A) 
Stuff
NewStuff 

(B)
First "Stuff" is displayed on the screen. Then I will see this error:
ORA-04063: package body "HR.PLCH_PKG" has errors
ORA-06508: PL/SQL: could not find program unit being called: "HR.PLCH_PKG"

(C)
Stuff


答案B