首先,我想问的是,编辑块应该在PLSQL的哪个窗口啊,感觉应该是在程序窗口,而我是在命令窗口敲的,然后还报了错误,感觉是格式上的,简单的问题帮我看看,以下是代码
<<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;
select dname into v_dname from dept
where  deptno=v_deptno;
dbms_output.put_line('部门名:'||v_deptno);
end;

解决方案 »

  1.   

    具体报什么错啊?
    '&name'->&&name ?
    还有你没有catch exception,如果select into 没有记录或者记录多于一条,也会报错。
    另外<inner>也不知道什么意思。
    呵呵我一般用sqlplus。
      

  2.   

    命令窗口通过ed指令来修改
    外面的outer标签要去掉,这个标签不需要且不能有。此外注意v_deptno的精度是否足够,最后输出的部门名不应该是v_deptno吧,不过这不是语法错误。改成
    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;
        select dname into v_dname from dept
        where  deptno=v_deptno;
        dbms_output.put_line('部门名:'||v_dname);
        end;