首先,我想问的是,编辑块应该在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;
<<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;
'&name'->&&name ?
还有你没有catch exception,如果select into 没有记录或者记录多于一条,也会报错。
另外<inner>也不知道什么意思。
呵呵我一般用sqlplus。
外面的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;