每次运行报告时,Select〜into子句是否随机化?

2020-09-04 12:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


与标题相同,但有许多问题。

首先,在OracleDB中,据我所知,每当您运行报表程序时,Select〜into子句总是在内部表中带来相同的结果(不仅仅是结果-相同的索引)。

但是在HDB中,我认为运行报告并不总是一样。

例如(Select子句按f1排序)

您看到的是,当我运行报告时,第一次运行-itab索引2转到第二次运行-itab索引3。

是吗? 还是我知道有什么问题?

第二,当我使用UPDATE〜SET子句更新ABAP目录表时,索引也会更改吗?

例如(与第一个相同,Select子句按f1排序)

像一张图片-索引号可以更改吗?

*** PS更改了第二张图片-错误的f3值。

(5.5 kb)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


与标题相同,但有许多问题。

首先,在OracleDB中,据我所知,每当您运行报表程序时,Select〜into子句总是在内部表中带来相同的结果(不仅仅是结果-相同的索引)。

但是在HDB中,我认为运行报告并不总是一样。

例如(Select子句按f1排序)

您看到的是,当我运行报告时,第一次运行-itab索引2转到第二次运行-itab索引3。

是吗? 还是我知道有什么问题?

第二,当我使用UPDATE〜SET子句更新ABAP目录表时,索引也会更改吗?

例如(与第一个相同,Select子句按f1排序)

像一张图片-索引号可以更改吗?

*** PS更改了第二张图片-错误的f3值。

(5.5 kb)
付费偷看设置
发送
5条回答
spaceman01
1楼 · 2020-09-04 12:49.采纳回答

在HANA和Oracle数据库中,如果未使用ORDER BY指定结果条目,则不应期望任何顺序。
如果是您关注的顺序,则应始终使用ORDER BY(选择)或 您指定的列的SORT(itab)。

Aaron 3364
2楼-- · 2020-09-04 12:58

我确认,使用SELECT"除非您使用ORDER BY保证,否则不应期望结果条目的任何顺序[除非您]保证。"

这是标准SQL的众所周知的功能。 人们通常会感到困惑,因为通常他们会观察到顺序保持稳定,但是实际上顺序可能随时更改,特别是在创建索引时,但这不是唯一原因。

这是因为数据库可能 实现多种算法,例如并行化等(它不仅取决于索引)-有关更多信息,请参见数据库系统的文档。

clever101
3楼-- · 2020-09-04 13:05

在Hana数据库中,每次执行DB SELECT语句时都必须指定ORDER BY。 我们曾经让Oracle通过数据库表键对结果进行排序,但是情况不再如此

SKY徐
4楼-- · 2020-09-04 12:44

如上所述,在Hana db中不能保证结果的任何顺序。 选择之后,使用sort排序所有您希望对结果集进行排序的字段

Haoba3210
5楼-- · 2020-09-04 12:39

,对不起,我的英文简短

我认为这是正确的问题。 我的意思是,我使用ORDER BY子句按F1字段排序。

但是如果我更新原始表,可以更改索引,例如第二次运行,第一个表(请参阅原始索引)吗?

或者,始终与原始表格相同(例如第二次运行,第二张表格?)

一周热门 更多>