日期:2014-05-17  浏览次数:20762 次

求解
代码如下
SQL code

<<outer>>
declare
v_deptno number(2);
v_dname varchar2(10);
begin
  <<inner>>
      begin
        select deptno into v_deptno from emp where lower(ename)=lower('&name');
      end;--<<inner>>
  select dname into v_dname from dept where deptno=v_deptno;
  dbms_output.put_line('部门名:'||v_dname);
end;--<<outer>>



错误提示:ORA-06550 ,第4行 第0列
  PLS-00103 出现符号“end-of-file”在需要下列之一时:
:=;
not null default character

求解

------解决方案--------------------
SQL code
set serveroutput on;
declare
v_deptno number(2);
v_dname varchar2(10);
begin
      begin
        select deptno into v_deptno from scott.emp where lower(ename)=lower('&name');
      end;--<<inner>>
  select dname into v_dname from scott.dept where deptno=v_deptno;
  dbms_output.put_line('部门名:'||v_dname);
end;--<<outer>>

------解决方案--------------------
《outer》 这样 oracle会当做语句来执行,但是 oracle认不出这个东西。 放在--后面就变成注释了,所以可以这样写
书籍上也有可能是错的啊。。
------解决方案--------------------
探讨

但是为什么那个《outer》和《inner》不能写呢?我可是按照那个精通oracle书籍上敲得啊?