• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            Held and non-held cursors

            Posted on 2010-05-12 23:21 Prayer 閱讀(214) 評論(0)  編輯 收藏 引用 所屬分類: DB2

            http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=/com.ibm.db29.doc.apsg/db2z_heldnonheldcursor.htm

            Held and non-held cursors

            A held cursor does not close after a commit operation. A cursor that is not held closes after a commit operation. You specify whether you want a cursor to be held or not held by including or omitting the WITH HOLD clause when you declare the cursor.

            After a commit operation, the position of a held cursor depends on its type:
            • A non-scrollable cursor that is held is positioned after the last retrieved row and before the next logical row. The next row can be returned from the result table with a FETCH NEXT statement.
            • A static scrollable cursor that is held is positioned on the last retrieved row. The last retrieved row can be returned from the result table with a FETCH CURRENT statement.
            • A dynamic scrollable cursor that is held is positioned after the last retrieved row and before the next logical row. The next row can be returned from the result table with a FETCH NEXT statement. DB2® returns SQLCODE +231 for a FETCH CURRENT statement.
            A held cursor can close when:
            • You issue a CLOSE cursor, ROLLBACK, or CONNECT statement
            • You issue a CAF CLOSE function call or an RRSAF TERMINATE THREAD function call
            • The application program terminates.

            If the program abnormally terminates, the cursor position is lost. To prepare for restart, your program must reposition the cursor.

            The following restrictions apply to cursors that are declared WITH HOLD:
            • Do not use DECLARE CURSOR WITH HOLD with the new user signon from a DB2 attachment facility, because all open cursors are closed.
            • Do not declare a WITH HOLD cursor in a thread that might become inactive. If you do, its locks are held indefinitely.

            IMS™

            You cannot use DECLARE CURSOR...WITH HOLD in message processing programs (MPP) and message-driven batch message processing (BMP). Each message is a new user for DB2; whether or not you declare them using WITH HOLD, no cursors continue for new users. You can use WITH HOLD in non-message-driven BMP and DL/I batch programs.

            CICS

            In CICS® applications, you can use DECLARE CURSOR...WITH HOLD to indicate that a cursor should not close at a commit or sync point. However, SYNCPOINT ROLLBACK closes all cursors, and end-of-task (EOT) closes all cursors before DB2 reuses or terminates the thread. Because pseudo-conversational transactions usually have multiple EXEC CICS RETURN statements and thus span multiple EOTs, the scope of a held cursor is limited. Across EOTs, you must reopen and reposition a cursor declared WITH HOLD, as if you had not specified WITH HOLD.

            You should always close cursors that you no longer need. If you let DB2 close a CICS attachment cursor, the cursor might not close until the CICS attachment facility reuses or terminates the thread.

            The following cursor declaration causes the cursor to maintain its position in the DSN8910.EMP table after a commit point:
            
            EXEC SQL
            DECLARE EMPLUPDT CURSOR WITH HOLD FOR
            SELECT EMPNO, LASTNAME, PHONENO, JOB, SALARY, WORKDEPT
            FROM DSN8910.EMP
            WHERE WORKDEPT < 'D11'
            ORDER BY EMPNO
            END-EXEC.
            麻豆精品久久久一区二区| 伊人久久一区二区三区无码| 久久精品国产免费观看三人同眠| 少妇精品久久久一区二区三区| 狠狠狠色丁香婷婷综合久久五月 | 亚洲第一极品精品无码久久| 精品久久8x国产免费观看| 久久久久国产| 久久久久四虎国产精品| 最新久久免费视频| 国产福利电影一区二区三区久久老子无码午夜伦不 | 亚洲一区精品伊人久久伊人| 精品国产一区二区三区久久| 国产欧美久久久精品影院| 国产日产久久高清欧美一区| 性高朝久久久久久久久久| 久久久久国产一级毛片高清版| 亚洲午夜无码AV毛片久久| 99久久国产综合精品五月天喷水| 久久精品一本到99热免费| 久久久久黑人强伦姧人妻| 久久99精品国产麻豆宅宅| 日韩人妻无码精品久久久不卡| 亚洲日韩欧美一区久久久久我| 国产一区二区三精品久久久无广告| 久久婷婷五月综合色奶水99啪| 国产精品美女久久福利网站| 精品国产91久久久久久久a | 亚洲国产综合久久天堂| 国产福利电影一区二区三区久久久久成人精品综合 | 久久亚洲综合色一区二区三区| 麻豆一区二区99久久久久| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久国产成人| 久久综合久久伊人| 天天做夜夜做久久做狠狠| 亚洲欧洲精品成人久久曰影片| 人妻无码精品久久亚瑟影视| 天堂无码久久综合东京热| 久久精品国产久精国产果冻传媒 | 热久久国产精品|