-1

我正在尝试创建一个返回过期成员的成员名称的成员函数。我的选择查询在成员函数之外工作,并且该成员函数编译没有问题,但是当我调用该函数时,出现此错误:

ORA-01422: 精确提取返回的行数多于请求的行数

我认为这很简单,但我没有使用 Oracle 很长时间,所以有点卡在语法上。有人能帮忙吗?

4

2 回答 2

1

Since this query can return more than one row you need to use a cursor and a cursor-for loop to iterate over results. However you cannot return more than one member name using a varchar; you could use a PL-SQL table.

于 2013-05-04T09:45:21.630 回答
0

从 member_tab m 中选择 m.forename 到 memberName 其中 ADD_MONTHS(m.datejoined, 64) < SYSDATE;

看起来这个查询返回超过 1 个结果...

您可以使用选择计数(*)或异常处理来解决异常并处理 >1 个结果

于 2013-05-04T09:39:38.273 回答