如上,用双LOOP的方法实现两个内表匹配筛选性能不高,能够换成以下LOOP READ TABLE的方法 注意问题,gwa_vbap工作区READ TABLE之前需要排空。
二.loop 嵌套READ的优化 LOOP可使用SORT表,READ可使用哈希表,APPEND可使用标准表,但是一般情况没有优化要求的情况下,直接使用标准表即可
内表里面关键字相同的几条数据,当你用read key的时候,一般都是读取第一条的呀,一般遇见这种情况不建议用read,用loop……where比较好 取内表F 关键字为A = a B = b C = c的多条数据的语句如下:loop at F where A = a and B = b and C = c.数据处理 endloop.这样就能取到关键...
LOOP; 内部表"<FS>"没有标题行,其中一个附加项"INTO wa"、"ASSIGNING"、"REFERENCE INTO"、"TRANSPORTING NO FIELDS"是必需的。 READ TABLE; 您不能在具有类型为"HASHED TABLE"或"ANY TABLE"的表上使用显式或隐式索引操作。"<FS>"的类型为"ANY TABLE"。可能在"<FS>"之前未指定"TABLE"附加项。 - Isuru...
是不是read table 只读取一个符合条件的?loop的话就会有多行?能给个例子吗谢谢 展开 来自匿名用户的提问 回答 最佳答案 也是看情况,如果你只取其中一条的记录就用READ TABLE,如果你想去多行就用LOOP,只取一行用LOOP 也能做到,找到第一条符合条件的记录用CONTINUE跳出来。 2017-10-17 3 更多回答(1)©...
LOOP AT itab WHERE KEY <> ‘XX’. 此处取得第一条记录。 EXIT. ENDLOOP. 如果在运行时 <KEY> 值为空,则 统忽略该关键字段。另外可对关键字段指定偏移量和长度。 BTW: 感谢binary search,有一次到日本做项目,有这么个课题, 内部表中的数据如下 ...
sql中table用法 for c in (select column_value from table(f_split(V_FileID, ','))) loop --若没有填写资格开始结束时间,则填入 select count(*) into numDataCount from ly_zg_jzfbt z where file_id = c.column_value and z.pt_valid_stime is null; then update ly_zg_jzfbt z set z.pt...
内表中只有一条记录的时候,或者是读取的条件能确定内表中的唯一一条记录的时候 我认为事这样的,呵呵 按
ENDLOOP. 如果在运行时<KEY>值为空,则统忽略该关键字段。另外可对关键字段指定偏移量和长度。 BTW: 感谢binary search,有一次到日本做项目,有这么个课题, 内部表中的数据如下 A B C 01 001 20060301 01 001 20060201 01 001 20060101 要求取出距现在时间最近的记录。 我的做法是先排序 SORT IT_TAB BY A ...
一般是把对应的数据获取到内表中,然后对内表进行正序排序,然后在去重,之后再LOOP 循环中通过read 的方式读到工作区在赋值. select 数据1, 数据2 from 透明表 into table 内表 . sort 内表 by 数据1 数据2 . DELETE ADJACENT DUPLICATES FROM itab(内表名) COMPARING针对的字段. ...