1

私はplsqlの初心者です。

エラーが発生しています

ORA-01422: exact fetch returns more than requested number of rows  

問題は、時々、行が重複しているカーソルから選択する必要があることです。
この状況を回避するために、
rownum=1 または rownum<2 を追加しようとしました

しかし、これは問題を解決しませんでした

select work into my_work  
from INFO 
where person_id = in_person_id
and date= (select max(date) from INFO where (person_id = in_person_id and rownum<2     
));     

PS元のバグが重複行を生成することは修正できません

4

1 に答える 1

3

メインクエリではなく、サブクエリrownum <2に適用されます。そのはず

select work into my_work  
from INFO 
where person_id = in_person_id
and date= (select max(date) from INFO where (person_id = in_person_id 
--and rownum<2  
)) 
AND rownum<2  ;     
于 2012-12-20T16:13:17.907 に答える