ABAP对内表操作要通过工作区域进行的疑问

Q1:为什么对于内表的操作要在工作区进行。Q2:按照这样的规定,那么像:SELECT*INTOCORRESPONDINGFIELDSOFTABLEITABFROMMARA... Q1:为什么对于内表的操作要在工作区进行。
Q2:按照这样的规定,那么像:
SELECT * INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MARA
WHERE xxxxxxxxx
这样的语句不就是在直接对ITAB这个内表进行了直接的操作吗?
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏5(财富值+成长值)
素净还帅气丶超人f79
2014-12-15 · TA获得超过338个赞
知道小有建树答主
回答量:185
采纳率:75%
帮助的人:75.8万
展开全部
首先你要理解什么是内表,什么是工作区;
因为在ABAP中常用的SQL是SAP自带的OPEN SQL,它与NATIVE SQL不同,还要多一层解析的过程。因此,在ABAP中使用多表JOIN(>3)的效率远小于将数据存储到内表后,再对内表进行后续的操作。
而内表,实际上就是一个临时存储空间,有效的范围是当前程序;
而工作区,实际上就是一个结构,它与内表的区别就是,内表存放的是多条记录,而工作区是一条;
针对Q1:对于大多数的处理内表是无法批量更新的,因此内表的操作要将数据放在工作区进行,然 后处理完后更新到内表。
针对Q2:你的这个SQL只是将数据存放到内表中,并没有做任何其他的操作。

谢谢~O(∩_∩)O~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式