【发布时间】:2011-03-22 07:29:25
【问题描述】:
我有一个这样的SQL; (在 Oracle SQL Developer 中)
SELECT A.HESAP_NO, A.TEKLIF_NO1 || '/' || A.TEKLIF_NO2 AS TEKLIF, A.MUS_K_ISIM,
B.MARKA, C.SASI_NO, C.SASI_DURUM, D.TAS_MAR, RISK_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO) AS RISK,
MV_SASI(A.TEKLIF_NO1, A.TEKLIF_NO2, C.SASI_NO, SYSDATE) AS MV
FROM S_TEKLIF A, S_URUN B, S_URUN_DETAY C, KOC_KTMAR_PR D
WHERE A.TEKLIF_NO1 || A.TEKLIF_NO2 = B.TEKLIF_NO1 || B.TEKLIF_NO2
AND A.TEKLIF_NO1 || A.TEKLIF_NO2 = C.TEKLIF_NO1 || C.TEKLIF_NO2
AND B.SIRA_NO = C.URUN_SIRA_NO
AND B.DISTRIBUTOR = D.DIST_KOD
AND B.MARKA = D.MARKA_KOD
AND B.URUN_KOD = D.TAS_KOD
结果是;
通过此步骤,但当我向下滚动在结果中时没有错误,我收到如下错误:
ORA-01422:精确提取返回的行数多于请求的行数
ORA-06512:在“MARDATA.RISK_SASI”,第 28 行
01422. 00000 - “精确提取返回的行数超过了请求的行数”
*原因:exact fetch中指定的数量小于返回的行数。
*操作:重写查询或更改请求的行数
我该如何解决这个问题?
【问题讨论】: