javascript - SAPUI5:如何在 HANA 中的两个表之间创建外键链接

标签 javascript sapui5 hana

正如下面的标题所述,

我确实有两个表,第一个表如下所示:

COLUMN TABLE "FirstTable"(
    "exampleId" INTEGER CS_INT NOT NULL,
    "Name" VARCHAR(50) NOT NULL,
    PRIMARY KEY ("exampleId")

) UNLOAD PRIORITY 5 AUTO MERGE;

和第二个表,它应该将第一个表的主键作为外键,以便在这两个表之间建立链接。

第二个表:

COLUMN TABLE "SecondTable"(
    "scndID" INTEGER CS_INT NOT NULL,
    "exampleId" INTEGER CS_INT NOT NULL,
    PRIMARY KEY ("scndID"),
    FOREIGN KEY("exampleId")

) UNLOAD PRIORITY 5 AUTO MERGE;

问题:外键不起作用/无法识别。

问题:如何使用外键在两个表之间创建链接?

最佳答案

您非常接近您选择的语法。 第二个表所缺少的只是让 HANA 知道外键应该属于哪个表。

您需要将 REFERENCES 表达式添加到 FOREIGN KEY 表达式中。

文档here对此进行了解释.

create COLUMN TABLE "SecondTable"(
    "scndID" INTEGER NOT NULL,
    "exampleId" INTEGER  NOT NULL,
    PRIMARY KEY ("scndID"),
    FOREIGN KEY("exampleId") REFERENCES "FirstTable"
);

顺便说一句:让所有列NOT NULL是一个不错的选择!保留默认值 NULLABLE 然后必须到处处理 NULL 是一个常见的错误。

我建议不要在代码中包含列存储数据类型(CS_INT) - 这只会令人困惑,并且不会添加任何有值(value)的内容。 同样,请使用 NVARCHAR 而不是 VARCHAR,除非有充分的理由不这样做。

关于javascript - SAPUI5:如何在 HANA 中的两个表之间创建外键链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61596467/

相关文章:

javascript - HTML 标签上的非标准属性。好东西?坏事?你的意见?

javascript - 触发操作时出现回流错误

sql - 如何同时从两个表中选择数据

r - 由于逐条记录插入,使用 dbWritetable 使用 RJDBC 写入 SAP HANA 非常慢

java - 用于 liquibase 更新的 SAPHANA JDBC 示例 URL

javascript - 'this' 在这个函数中指的是什么?

sapui5 - SAP UI5 组件开发元数据数据类型

javascript - 带有多个窗口的弹出窗口(如 sap.m.dialog)

javascript - 如何在 UI5 中动态创建 OData V2 实体路径?

javascript - 可选的链接逻辑