我正在尝试创建一个返回过期成员成员名称的成员函数。我的选择查询在成员函数之外工作,这个成员函数编译没有问题,但是当我调用该函数时,我得到了这个错误:
ORA-01422:精确提取返回超过请求的行数
我认为它很简单,但我没有长时间使用Oracle,所以语法有些困难。任何人都可以帮忙吗?
答案 0 :(得分:1)
由于此查询可以返回多行,因此您需要使用游标和cursor-for循环来迭代结果。但是,您不能使用varchar返回多个成员名称;你可以使用PL-SQL表。
答案 1 :(得分:0)
选择m.forename为memberName 来自member_tab m 其中ADD_MONTHS(m.datejoined,64)< SYSDATE;
看起来这个查询返回的结果超过1个......
你可以使用选择计数(*)或异常处理来解决异常并处理> 1结果