SAP HANA XSA SPS 3:序列行为(hdbsequence)

2020-08-30 19:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我们对序列(.hdb...

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

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


专家们,

我们对序列(.hdbsequence)的行为感到有些惊讶。

如果我们首先通过sql插入更高的ID(5),我们试图找出序列的工作方式。 我们认为自动增量将在5点后开始,但事实并非如此。 它从1开始。

序列" TBASE.db.sequences :: A_DialyseID"
 通过选择IFNULL(MAX(" DialyseID"),0)+1从" TBASE.db.data::tbase.cds.md.A_Dialyse"重置

此后,我们尝试找出序列到ID 5时的计数方式,并意识到序列运行出错并停止了自动递增。

要解决此问题,我们想使用"最小值"和"最大值",但在某些情况下,它不适用于我们。 不知道是什么原因。 (即使我们删除了它,也可能与.hdbtabledata工件有关。)

有人可以确认db modul的构建应该可以自动处理Reset_By语句吗?

序列" TBASE.db.sequences :: A_DialyseID"以1000000000 MAXVALUE开始1999999999
 通过选择IFNULL(MAX(" DialyseID"),1000000000)+1从" TBASE.db.data::tbase.cds.md.A_Dialyse"重置

感谢您的帮助!

(7.6 kB)
8条回答
我是小鹏鹏啊
2020-08-30 20:04

嗨桑迪,

是的,我们解决了。

您只需要知道序列的重置方式和时间。

有两种方法:

1。 更改您的hdbsequences(即再空白)->在下一次部署mtar时,ID将重置为最后一个最大ID

2。 重新启动数据库租户-> ID将立即重置为最后一个最大ID

这意味着,如果您确实在没有序列的表中进行插入,则应继续选择上述方法之一。 最后,我们只使用了第二步,因为它的工作量较小,而且只需几分钟。

此致

Dirk

一周热门 更多>