“select colname from table where (条件) for update”这是什么语句,楼主要完成什么操作?

解决方案 »

  1.   

    When opening a cursor with FOR UPDATE, the cursor creates a DML lock. On COMMIT or ROLLBACK, that lock is released, closing the cursor. To get around this, use the ROWID to determine the unique identifier for the row.
      

  2.   

    // *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.检查你程序看看有没有问题,或者在你操作的那个时候正好有其他程序也正在操作该表