我正在尝试创建一个返回过期成员的成员名称的成员函数。我的选择查询在成员函数之外工作,并且该成员函数编译没有问题,但是当我调用该函数时,出现此错误:
ORA-01422: 精确提取返回的行数多于请求的行数
我认为这很简单,但我没有使用 Oracle 很长时间,所以有点卡在语法上。有人能帮忙吗?
我正在尝试创建一个返回过期成员的成员名称的成员函数。我的选择查询在成员函数之外工作,并且该成员函数编译没有问题,但是当我调用该函数时,出现此错误:
ORA-01422: 精确提取返回的行数多于请求的行数
我认为这很简单,但我没有使用 Oracle 很长时间,所以有点卡在语法上。有人能帮忙吗?
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.
从 member_tab m 中选择 m.forename 到 memberName 其中 ADD_MONTHS(m.datejoined, 64) < SYSDATE;
看起来这个查询返回超过 1 个结果...
您可以使用选择计数(*)或异常处理来解决异常并处理 >1 个结果