欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

存储过程有关问题,是什么情况

更新时间: 2014-01-05 02:12:36 责任编辑: Author_N1

 

存储过程问题,请高手看看是什么情况?
有这么一个练习题:
创建存储过程,输入员工薪水范围,返回员工工号、姓名、薪水结果集,结果集按员工薪水升序排列?
create or replace 
procedure pro_emp(v_sal1 number,v_sal2 number)
as 
v_id number;
v_name varchar2(30);
v_salary number;
cursor cur_emp is
select e.empno,e.ename,e.sal from emp e where e.sal between v_sal1 and v_sal2 order by e.sal;
begin
open cur_emp;
loop
fetch cur_emp into v_id, v_salary,v_name;
dbms_output.put_line(v_id||' '||v_salary||' '||v_name);
exit when cur_emp %notfound;
end loop;
end;


创建编译成功后,当输入员工薪水范围不存在的时,调用存储成功;
call pro_emp (100,700) 成功。

但是当输入员工薪水范围存在时,存储就出错了;错误如下
在行 1 上开始执行命令时出错:
call pro_emp(100,800)
错误报告:
SQL 错误: ORA-06502: PL/SQL: 数字或值错误 : character to number conversion error
ORA-06512: 在 "SCOTT.PRO_EMP", line 11
06502. 00000 -  "PL/SQL: numeric or value error%s"
*Cause:    
*Action:

请高手看看是什么情况?
--参考方法--
select e.empno,e.ename,e.sal from emp  

fetch cur_emp into v_id, v_salary,v_name;

列名顺序有问题
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:36
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6985/
本文WWW.DOC100.NET DOC100.NET版权所有。