首先,我想问的是,编辑块应该在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;
解决方案 »
- temp表空间涨满,访问速度变慢的问题
- sql动态行列导致问题,请各位大侠帮忙解决下,先谢谢了!
- 急 在线等 oracle无法连上远程数据库
- 难题,关于并发访问同一行数据问题????
- 求一条sql语句!
- 如果数据量比较大,应该如何优化?
- oracle里怎么创建普通用户?
- 关于将access中的表导入到oracle数据库中的问题?
- 服务器突然断电后,oracle8i的sql/plus 不能用connect连上,错误是ora-01034:oracle not available,但是有关oracle的服务都能正常启动
- Oracle菜鸟,请教各位高手,如何在C#里使用Oracle?
- 有谁能看懂这段代码
- create table alter table 选项缺失或无效错
'&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;