今天看书然后写敲了一个代码但是在seqplus 里面能执行,而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; --<<inner>> select dname into v_dname from dept where deptno=v_deptno; dbms_output.put_line('部门名:'||v_dname); end;--<<outer>>
发现是少了两个开头,
declare
begin
end;
同样的代码,plsql就可以执行了。
--命名块 declare begin <<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>> end;