添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
╋ 资料整理区
├『软件下载』
├『联机文档』
├『数据库』
├『中间件』
├『操作系统』
├『开发监控』
╋ 自由讨论区
├『 AI.人工智能讨论区
├『 MQ, Tuxedo及OLTP讨论区
├『 Tomcat, WebLogic及J2EE讨论区
├『 MySQL, Oracle及数据库讨论区
├『 Android, Python及开发编程讨论区
├『 VMware, Unix及操作系统讨论区
├『 Hadoop,ERP及大数据讨论区
├『 OpenStack, 云计算等杂项讨论区
├『 有问有答
╋ 生活服务区
├『招聘求职』
├『 生活灌水
当前位置: 论坛首页 » ├『 AI.人工智能讨论区
├『 MQ, Tuxedo及OLTP讨论区
├『 Tomcat, WebLogic及J2EE讨论区
├『 MySQL, Oracle及数据库讨论区
├『 Android, Python及开发编程讨论区
├『 VMware, Unix及操作系统讨论区
├『 Hadoop,ERP及大数据讨论区
├『 OpenStack, 云计算等杂项讨论区
├『 有问有答
自由讨论区 » MySQL, Oracle及数据库讨论区

Oracle函数问题,报(ORA-01422: 实际返回的行数超出请求的行数

create or replace function get_doctor_groups(cnum in staff_vs_group.EMP_NO%type)
return staff_vs_group.group_class%type as cclass staff_vs_group.group_class%type;
begin
select distinct group_class
into cclass
from staff_vs_group , staff_dict
where staff_vs_group.emp_no = staff_dict.emp_no and rownum=1;
---加上rownum=1就可以了,不加则报出01422的错误,为什么?
return (cclass);
end;


这说明:
1.where staff_vs_group.emp_no = staff_dict.emp_no and rownum=1;
这个符合这个条件的记录不止一行,而且很多行
2.而distinct只能把同一字段相同内容的删掉,不同内容的不会删掉。
3.select into是隐式游标,只能传一个内容进去
4.当加上rownum=1,就是选取了第一行,也就是说只是一行,肯定不会有其他相异的内容。

为了方便大家阅读,我对文章中错误号来解释一下吧!
Error Id : ORA-01422

Title : exact fetch returns more than requested number of rows

Description :

exact fetch returns more than requested number of rows

Action :

Rewrite the query or change number of rows requested

Cause :

The number specified in exact fetch is less than the rows returned.


也许你已明白,但对一个人有用也是我存在的理由!^_^ By:持之以恒的大白

-- 来自: 北京联动北方科技有限公司