求解,该如何解决

求解代码如下SQL codeouterdeclarev_deptno number(2)v_dname varchar2(10)begininnerbeginsele

求解
代码如下

SQL code
<<outer>>declarev_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;declarev_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书籍上敲得啊?