>  기사  >  데이터 베이스  >  ORA-01002: 提取违反顺序的问题分析

ORA-01002: 提取违反顺序的问题分析

WBOY
WBOY원래의
2016-06-07 17:58:024648검색

前段时间,监控每天晚上跑的ETL程序,发现有个程序报ORA-01002: 提取违反顺序的错误。 Oracle的官方文档里对这个错误的解释是: Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL curso

前段时间,监控每天晚上跑的ETL程序,发现有个程序报ORA-01002: 提取违反顺序的错误。

Oracle的官方文档里对这个错误的解释是:
Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. There are a number of possible causes for this error, including: 1) Fetching from a cursor after the last row has been retrieved and the ORA-1403 error returned. 2) If the cursor has been opened with the FOR UPDATE clause, fetching after a COMMIT has been issued will return the error. 3) Rebinding any placeholders in theSQLstatement, then issuing a fetch before reexecuting the statement.
Action: 1) Do not issue a fetch statement after the last row has been retrieved - there are no more rows to fetch. 2) Do not issue a COMMIT inside a fetch loop for a cursor that has been opened FOR UPDATE. 3) Reexecute the statement after rebinding, then attempt to fetch again.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.