插入所有默认值

2020-08-26 12:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,我正在尝试将SAP Hana...

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

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


嗨,我正在尝试将SAP Hana数据库支持添加到我的ORM中。 在某些情况下,定义实体/表时将所有列都设置为DEFAULT,并且用户尝试使用指定的任何值将行插入此类表中。 另外,会生成主键,因此也未指定。

其他数据库均支持以下语法:" INSERT INTO" table"(" id"," name")VALUES(DEFAULT,DEFAULT)",均支持以下语法:" INSERT INTO" table" DEFAULT VALUES"。 而且SAP似乎不支持这种语法,因此我在互联网上找不到解决方法。 谢谢。

3条回答
樱桃小丸子0093
2020-08-26 13:48 .采纳回答

TL; DR答案:

SAP HANA(最多HANA 2 SP04)不支持DEFAULT/DEFAULT VALUES语法。

在HANA中插入默认值的方法是 忽略应从插入列列表中获取默认值的列。
很明显,表中有一个Identity列,这不会在插入列列表中留下任何列,这反过来又是错误的插入语法。

这有点问题,因为HANA文档指出 HANA符合ANSI SQL功能 F221 "显式默认值" 要求通过将目标列放在插入列表之外(HANA支持的列)或通过您在其他DBMS中看到的DEFAULTS关键字来获取默认值。

我的猜测是这里没有技术障碍,因此也许打开一条支持消息指出该缺点可以将功能添加到待办事项中或提高其优先级。

除此之外,我还有 同意Mike的观点,这是相当荒谬的操作,并且说明它是ORM框架测试套件的结果,