我有一个表'Students',该表具有表'School'和'Teachers'和...的外键。我想导出一个特定的学生(行)以及一个老师和学校以及与此相关的其他行。怎么做?
答案 0 :(得分:1)
使用expdp
(数据泵),您可以使用QUERY
参数(std::nested_exception
)来限制要导出的数据,该参数基本上是WHERE
子句(因此您必须使用子选择来联接表):
参数(par)文件exp.par的内容:
include=TABLE:"IN ('STUDENTS','TEACHERS', 'SCHOOLS')"
query=STUDENTS:"WHERE student_name=\'STUDENT ONE\'"
query=SCHOOLS:"WHERE school_pk in ( select school_fk from STUDENTS where student_name=\'STUDENT ONE\')"
...
,依此类推... 然后,您可以像这样开始导出:
$ expdp YOURSCHEMA directory=TEMP dumpfile=data.dmp logfile=expdp.log parfile=exp.par