WITH HOLD 的作用 在OPEN CURSOR 语句中,常常会看到一个附加关键字 WITH HOLD。这个关键字的作用是使游标在数据库事务结束后仍然保持打开状态。在某些业务场景中,这非常有用,因为你可以在多个事务中保持对同一个游标的访问,而不必重新打开和初始化它。 比如,在长时间运行的批处理任务中,你可能会定期提交事务以确保数据的
1、声明游标 OPEN CURSOR [WITH HOLD] <c> FOR SELECT <result> FROM [WHERE <condition>] [GROUP BY <fields>] [HAVING <cond>] [ORDER BY <fields>]. cursor <c>需事先在data语句中声明变量,在句型中可见,基本上select使用的所有附加项都可使用,除了一个,single 2、操作游标 向下移动游标:FETCH NE...
子例程使用游标读取的行执行不同的任务。 REPORTdemo_select_cursor_3.DATA:wa_spfliTYPEspfli,wa_sflightTYPEsflight,wa_sflight_backTYPEsflight.DATA:c1TYPEcursor,c2TYPEcursor.OPENCURSORc1FORSELECT*FROMspfliORDERBYPRIMARYKEY.OPENCURSORc2FORSELECT*FROMsflightORDERBYPRIMARYKEY.DO.FETCHNEXTCURSORc1INTOwa_spfli...
如果你用了OPEN CURSOR WITH HOLD。那么Native SQL的COMMIT就关不掉它。 也就是说COMMIT WORK这个语句关不掉它。ROLLBACK也关不掉它。 回到FETCH,它要提取结果集,需要用INTO 或APPENDING。从当前的光标的位置开始取。 这个FETCH后面的INTO或APPENDING必须得是和上面OPEN CURSOR 后的SELECT紧密关联的。 如果你INTO一...
第二、当执行OpenSql数据库提交或取消时。 第三、更改屏幕。 另,如果在open cursor时用了with hold, openSql在向数据库提交时游标不会自动关闭。 --- 动态操作数据表的游标使用: View Code 注意:当使用 CALLFUNCTION'DB_COMMIT'. 数据提交 CALLFUNCTION'DB_ROLLBACK'. 数据回滚 不会关闭游标!
OPEN CURSOR [WITH HOLD] c FOR SELECT … [WHERE (conditions)]. 其中:c为CURSOR类型,不能在SELECT SINGLE中使用光标。 打开光标后,就可使用FETCH语句从OPEN CURSOR的结果集中读下一行 FETCH NEXT CURSOR c INTO <target>. 其中所选行都将读到INTO子句指定的目标区域。若FETCH没有读取任何行SY-SUBRC为4,否则...
Runtime Errors: DBIF_RSQL_INVALID_CURSOR Exeption : CX_SY_OPEN_SQL_DB 我也尝试了另一种方法: OPEN CURSOR WITH HOLD s_cursor FOR SELECT * FROM db WHERE cond IN so_cond AND cond1 IN so_cond1. DO. FETCH NEXT CURSOR s_cursor INTO TABLE rt_data PACKAGE SIZE iv_package. ...
OPEN CURSOR [WITH HOLD] dbcur FOR SELECT result FROM source [[FOR ALL ENTRIES IN itab] WHERE sql_cond] [GROUP BY group] [HAVING group_cond] [ORDER BY sort_key]. [WITH HOLD]:当使用native sql commit work时,不关闭CURSOR。 语法: ...
With one exception, a database LUW is concluded when you close a cursor either explicitly or implicitly. The WITH HOLDaddition in the OPEN CURSOR statement allows you to prevent a cursor from being closed when a database commit occurs in Native SQL....
CLOSE CURSOR C. 在数据库提交时候,系统自动关闭光标,一个例外情况是如果在OPEN 语句中,使用了WITH HOLD选项,则NATIVE SQL数据库提交将不会关闭光标。示例:输出结果:程序分析:在程序中,定义了一个cursor类型的变量,并通过OPEN CURROR语句打开光标。一个打开的光标相当于指向某个地址的指针。多个光标可以 48、指向...