2020-08-15 08:35发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我想从餐桌上获得第5条记录。
我应该找回它吗?
致谢
diptojyoti dutta
关于您的需求最重要的部分是,您需要具有已定义的排序顺序,否则,您的需求将很成问题。 如果您的排序顺序是"主键",则仍然必须在select语句中定义该排序顺序,以始终保证此顺序。
对于ABAP 7.52,您可以将offset和up一起使用 到n行,您可以选择"第5条记录"。 但是,必须使用OFFSET定义ORDER BY语句。 这是因为像上面解释的那样,默认情况下,没有特别定义的顺序,不能保证返回的数据集是可靠的顺序。
有关更多信息SELECT ... OFFSET,请阅读ABAP文档:
" ABAP 7.52及更高版本 SELECT * FROM sbook ORDER BY卡里德,康妮,弗拉特,书生 到表@DATA(result_5th) 最多1行 偏移量4。 cl_demo_output => write(result_5th)。 SELECT * FROM sbook ORDER BY卡里德,康妮,弗拉特,书生 插入表@DATA(result_all)。 cl_demo_output => display(result_all)。
如果您具有ABAP 7.51和更低版本,则SELECT ... OFFSET语句不可用。 因此,您将必须选择所有数据,直到请求的记录,然后再释放您不想拥有的那些记录。 您也可以选择执行SELECT ... ENDSELECT语句,仅复制第5条记录并退出选择循环,不过我不建议这样做,特别是如果您正在寻找例如 由于性能原因,第100,000条记录。 (作为附带说明,最好将SELECT ... ENDSELECT与PACKAGE SIZE x结合使用。)
" ABAP 7.51及更低版本 SELECT * FROM sbook ORDER BY卡里德,康妮,弗拉特,书生 到表@DATA(result_5th) 最多5行。 从1到4删除result_5th。 cl_demo_output => write(result_5th)。 SELECT * FROM sbook ORDER BY卡里德,康妮,弗拉特,书生 插入表@DATA(result_all)。 cl_demo_output => display(result_all)。
感谢您访问SAP社区以获取问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的反馈。 例如,您可以概述寻找答案的步骤(以及为什么对您没有帮助),分享您看到/完成的内容的屏幕截图,确保已应用适当的标签以及使用更具描述性的主题 线。 您提供的详细信息越多,成员越有可能为您提供帮助。
如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。
最后,如果您希望与读者建立联系,请考虑在您的个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。
亲切的问候,
-Jerry
数据库表不是电子表格。
即 它没有行号或记录号。
仔细研究并查找一些基本视频。
https://youtu.be/Tk1t3WKK-ZY
https://www.youtube.com/watch?v=FR4QIeZaPeM
Diptojyoti Dutta ,
我不确定是否需要此类要求 。 可能是,如果您告诉我们实际的需求,我们可能会提出更好的解决方案。
一种通用方法是将条目放入内部表中,然后使用索引值读取内部表。
最多设置5个标签!
关于您的需求最重要的部分是,您需要具有已定义的排序顺序,否则,您的需求将很成问题。 如果您的排序顺序是"主键",则仍然必须在select语句中定义该排序顺序,以始终保证此顺序。
对于ABAP 7.52,您可以将offset和up一起使用 到n行,您可以选择"第5条记录"。 但是,必须使用OFFSET定义ORDER BY语句。 这是因为像上面解释的那样,默认情况下,没有特别定义的顺序,不能保证返回的数据集是可靠的顺序。
有关更多信息SELECT ... OFFSET,请阅读ABAP文档:
如果您具有ABAP 7.51和更低版本,则SELECT ... OFFSET语句不可用。 因此,您将必须选择所有数据,直到请求的记录,然后再释放您不想拥有的那些记录。 您也可以选择执行SELECT ... ENDSELECT语句,仅复制第5条记录并退出选择循环,不过我不建议这样做,特别是如果您正在寻找例如 由于性能原因,第100,000条记录。 (作为附带说明,最好将SELECT ... ENDSELECT与PACKAGE SIZE x结合使用。)
感谢您访问SAP社区以获取问题的答案。 由于您是第一次在这里提出问题,因此建议您熟悉 https ://community.sap.com/resources/questions-and-answers (如果您还没有的话),因为它提供了准备问题的技巧,这些问题引起了我们成员的反馈。 例如,您可以概述寻找答案的步骤(以及为什么对您没有帮助),分享您看到/完成的内容的屏幕截图,确保已应用适当的标签以及使用更具描述性的主题 线。 您提供的详细信息越多,成员越有可能为您提供帮助。
如果您愿意,可以先选择"操作",然后再"编辑"来修改您的问题(尽管一旦有人回答了您的问题,您将失去编辑问题的能力-但是,如果发生这种情况,您可以在" 评论)。
最后,如果您希望与读者建立联系,请考虑在您的个人资料中添加图片。 操作方法如下: https://www.youtube.com/watch?v = F5JdUbyjfMA&list = PLpQebylHrdh5s3gwy-h6RtymfDpoz3vDS 。 通过使用您的照片来个性化您的个人资料,可以鼓励读者做出回应。
亲切的问候,
-Jerry
数据库表不是电子表格。
即 它没有行号或记录号。
仔细研究并查找一些基本视频。
https://youtu.be/Tk1t3WKK-ZY
https://www.youtube.com/watch?v=FR4QIeZaPeM
Diptojyoti Dutta ,
我不确定是否需要此类要求 。 可能是,如果您告诉我们实际的需求,我们可能会提出更好的解决方案。
一种通用方法是将条目放入内部表中,然后使用索引值读取内部表。
< p>致谢!一周热门 更多>