代码如下<<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求解

解决方案 »

  1.   

    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>>
      

  2.   

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

  3.   

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