如何通过定义触发器为数据库表提供自动增量属性?

2020-09-13 19:14发布

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

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


嗨,

我想向数据库表添加自动增量属性。 我该如何使用扳机? 我尝试使用此方法默认生成为IDENTITY 的方法来更改主键,但此方法不起作用。

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

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


嗨,

我想向数据库表添加自动增量属性。 我该如何使用扳机? 我尝试使用此方法默认生成为IDENTITY 的方法来更改主键,但此方法不起作用。

付费偷看设置
发送
2条回答
软件心理学工程师
1楼-- · 2020-09-13 19:52

进行更改时会收到什么错误消息?

为什么要使用触发器来做到这一点?

路亽曱_Ryan
2楼-- · 2020-09-13 20:02

嗨弗洛里安,

错误消息的原因与列类型有关。 我读了这个博客,我 看到,HANA不支持默认情况下生成作为行列的标识。 我想通过使用JPA-EclipseLink在HANA上创建表,并且JPA将表创建为行存储类型。 我找不到任何方法来支持JPA属性中的列存储类型。

除此之外,HANA和Eclipselink集成之间还存在其他问题,例如外键约束,自动增量,表生成。 因此,我决定放弃JPA,直到HANA和Eclipselink支持这些问题。

结果,我搜索了另一种支持表自动递增的方法。 第一个是触发器,我想通过使用触发器来支持自动增量属性,当有人试图将数据发布到前端的我的服务中时,触发器将自动生成数据库表的ID。 但是在定义CREATE TRIGGER sql命令时出现问题。 即使我正确定义了触发器,也会遇到类似"开始期望发现..."或"期望结束发现"的错误。 我不明白为什么会出现这些错误。

第二种方式,我试图在我的xs服务中支持ID生成。 我发现了这个博客。 我使用.hdbdd文件定义了数据库表。 在定义表时,我使用了实体之间的关联,但是它没有用。 我进行了一些研究,但找不到真正的定义。

最后,我想知道一些问题。

1)如何定义自动增量属性的触发器?

2)是否可以使用EclipseLink在HANA中定义列存储表和自动递增?

3)是否可以使用我的表的alter table sql命令添加自动ID生成属性?

4)如何在.hdbdd文件中提供ID生成和关联?

问候。

Gokhan。

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答