【发布时间】:2016-12-04 19:59:47
【问题描述】:
我不断收到错误 ORA-01422:精确提取返回的行数超过了请求的行数。 ORA-06512:在“CM420A07.ZIP_CODE_SALES_WINNER”,第 6 行。我无法弄清楚到底出了什么问题。
CREATE OR REPLACE FUNCTION ZIP_CODE_SALES_WINNER
RETURN VARCHAR
IS
zipWinner VARCHAR2(5);
BEGIN
SELECT C.zip_code INTO zipWinner
FROM SALE S JOIN CUSTOMER C
ON S.cust_ID = C.cust_ID
GROUP BY C.zip_code
HAVING COUNT(*) = (
SELECT MAX(COUNT(*))
FROM SALE S JOIN CUSTOMER C
ON S.cust_ID = C.cust_ID
GROUP BY C.zip_code);
RETURN zipWinner;
END;
/
SELECT ZIP_CODE_SALES_WINNER FROM DUAL;
【问题讨论】:
-
您的错误代码听起来像是在使用 oracle,但您已将问题标记为
mysql -
你链接的网站说要创建一个光标来处理这个问题。
-
我试图创建一个游标,但它似乎不起作用
-
所以如果很多
zip code有相同的count,你需要不止一行?