替换 H2 数据库 2.x 中的 CROSS_REFERENCES?

Replacement for CROSS_REFERENCES in H2 database 2.x?

随着2.x版本的H2数据库INFORMATION_SCHEMA已经大规模重建:

Between version 1.4.200 and version 2.0.202 there have been considerable changes, such that a simple update is not possible.

不幸的是,tableCROSS_REFERENCES现在好像不见了。

在 1.x 版本中,我可以从中读取 table 之间的关系。有 PKTABLE_NAMEPKCOLUMN_NAMEFKTABLE_NAMEFKCOLUMN_NAMEFK_NAMEPK_NAME.

等列

到目前为止,我还没有在 INFORMATION_SCHEMA 2.x 的任何 table/view 中找到此信息。

有谁知道我怎样才能得到这些信息?

谢谢

INFORMATION_SCHEMA.TABLE_CONSTRAINTS 包含有关表中定义的所有约束的信息。如果 CONSTRAINT_TYPE 列包含值 PRIMARY KEYUNIQUE,则此约束可以被引用约束引用。引用(外键)约束的类型为 REFERENTIAL.

INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS 包含引用约束和它们引用的唯一/主键约束之间的链接。

INFORMATION_SCHEMA.KEY_COLUMN_USAGE 包含有关主键、唯一和引用约束的列的信息。请注意,multi-column 引用约束可能会以任何顺序引用具有相同列集的唯一或主键约束,因此对于 multi-column 引用约束,您需要同时检查 ORDINAL_POSITIONPOSITION_IN_UNIQUE_CONSTRAINT 以正确确定链接列。

所有这些表都在 第 11 部分:信息和定义模式 (SQL/Schemata) 的 SQL 标准中进行了标准化,因此它们或多或少可移植到所有具有标准 INFORMATION_SCHEMA.

的数据库