在我的小世界里,让我们说我有以下例子。
我有一个包含50多个表的postgresql数据库,并且所有表都以一种方式或另一种方式相互适当约束。这意味着没有一个表只是坐在模式的中间而不是被约束到某个东西。
如果有两个表名,我怎样才能找到正确包含的路径'构建一个SQL语句?
以下示例松散地显示了表如何受外键约束。
Table A -> Table B -> Table C -> Table D
Table B -> Table E
鉴于我开始在"表A"如果我想要记录表D"我怎样才能找到路径限制。如果我从"表A"开始,可以问同样的问题。并且需要记录表E"表E"。唯一的问题是,直到运行时我才知道我需要记录的表格。
在过去的研究中,INFORMATION_SCHEMA可能是一个开始的地方。
有没有办法在运行时构建路径?
-UPDATE -
现在给出我上传的表模式模型的新信息。例如,我在寻找MATERIALS起点的PART_FAMILIES表的FK路径。实际上讲MATERIALS可能是另一个表,但我如何在运行时获取路径。并且......感谢到目前为止的建议。