ORA-01002 提取违反顺序

ORA-01002 提取违反顺序

ORA-01002
ORA-01002: fetch out of sequence
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 the SQL statement, 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.


如果在遍历游标的时候
有insert的操作,并且执行了commit
那么,oracle会提示“ORA-01002: 提取违反顺序”

猜你喜欢

转载自zsd12379.iteye.com/blog/1601155