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 19:49

嗨,德克,

我认为我正在理解您的问题,因为...您有一个序列,但是您直接在表上插入....即使该序列引用了您的表,该序列本身也是一个db对象 因此,序列值与您在表中插入的内容无关。 当您需要插入新值时,您的序列应随序列下一个val函数递增。.或者,您可以添加具有自动递增的标识,请参见此处的文档 https://help.sap.com/viewer/b3d0daf2a98e49ada00bf31b7ca7a42e7 >


一周热门 更多>