Oracle11g PLS-00201在SQL Navigator中编译过程,但不与脚本运行相同

Oracle11g PLS-00201在SQL Navigator中编译过程,但不与脚本运行相同,oracle11g,Oracle11g,我有一个SQL脚本引用,当我从用户a使用SQL*plus时,它运行良好 如果我复制并粘贴脚本中的代码以使其成为schama a中的存储过程,我就无法编译它在模式B中引用的对象 /* logged on schema A from SQL Navigator */ PROCEDURE MYPROC IS myvar B.MYTABLE.MY_COLUMN%type; BEGIN DBMS_OUTPUT.PUT_LINE('HELLO'); END ; 我得到这个错误: PLS-0020

我有一个SQL脚本引用,当我从用户a使用SQL*plus时,它运行良好

如果我复制并粘贴脚本中的代码以使其成为schama a中的存储过程,我就无法编译它在模式B中引用的对象

/* logged on schema A from SQL Navigator */
PROCEDURE MYPROC IS
  myvar  B.MYTABLE.MY_COLUMN%type;
BEGIN
  DBMS_OUTPUT.PUT_LINE('HELLO');
END ;
我得到这个错误:

PLS-00201: identifier 'B.MYTABLE' must be declared
但作为一个脚本,它从作为用户登录的sqlplus成功运行

DECLARE
  myvar  B.MYTABLE.MY_COLUMN%type;
BEGIN
  DBMS_OUTPUT.PUT_LINE('HELLO');
END ;
/
exit

为什么??它是如何作为同一用户的脚本运行的?

请显示代码和相关错误消息。