我有一个数据库结构,其中有两个表A
& B
。
A
包含少量列,其中包含列BiD
作为表B
主键的外键引用。
但问题是定义了列,但不存在FK
约束。所以我正在寻找一种通过一些自动化方法生成这些约束的方法,因为我正在处理的真实数据库有超过一百个表。
我的数据库在Oracle 11g中,我也在Enterprise Architect中提供了ERD模型。任何这些解决方案都可行。请提出是否有这种可能性。
答案 0 :(得分:0)
all_tab_columns
(或dba_
或user_
版本)将包含列名和他们所在的表。如果您只想查找名为{{1的所有列并创建一个外键约束到BiD
,您可以执行类似
B
在实际系统中,您可能希望在构建SQL语句的地方使用本地变量,以便在执行之前记录它以防出现错误。如果您使用区分大小写的标识符,或者使用此模式生成的约束名称将超过30个字符,则您需要添加逻辑来处理这些情况。