有什么方法可以查询数据字典以按应填充的顺序获取表列表。
我有一个项目,我正在对大量表进行批量插入,如果我可以获得按填充顺序排序的表列表,那将非常有帮助。
我的具体用例是 MySql,但如果这个功能也存在于 Oracle、MS SqlServer 等中会很有趣。
编辑:例如,如果我创建这些表(伪代码)
person_type (
person_type_id
);
person (
person_id,
person_type_id references person_type.person_type_id
);
address (
address_id,
street1,
street2,
city,
state,
zip
);
person_address (
person_id references person_id
address_id references address.address_id
);
我希望排序顺序是这样的:
0 地址
0 个人类型
1人
2 个人地址
- address 没有依赖项,因此可以先填充(排序等级 = 0)
- person_type 没有依赖项,因此也可以先填充(排序等级 = 0)
- person 取决于 person_type,因此在创建适当的 person_type 记录之前无法填充它(排序等级 = 1)
- person_address 取决于 person_type、person 和 address,因此只有在这些表中存在记录后才能填充它(排序等级 = 2)