1.expdp按查詢條件導出多張表數據
示例1:如果where條件里無字符串
語句:
expdp scott/oracle directory=xx dumpfile=emp.dmp tables=emp query='emp:"WHERE deptno=20"';
如果是多張表
語句:
expdp scott/oracle directory=xx dumpfile=emp.dmp tables=emp,emp2,emp3 query='emp:"WHERE deptno=20"','emp2:"WHERE age=20"','emp3:"WHERE year=2020"'
說明:query參數后內容格式為固定格式:'表1:"where 字段=<>值"','表2:"where 字段=<>值"',……
示例2:要求把user_name='hh'的這條數據導出來如果query里的條件是字符串的話,就要用下面這種方法:
先寫出一個參數文件txt.par
dumpfile=1emp.dmp
directory=xx
tables=(emp)
query=(emp:"where username='hh'")
然后執行導出語句:
expdp scott/oracle parfile=txt.par
如果是多張表
tables=(emp1,emp2,emp3)
query=(emp:"where username='hh'",emp2:"where username='hh'",emp3:"where username='hh'")
注:如果query里的條件是字符串還用案例1的方法,就會報錯
ORA-31693: Table data object "SCOTT"."EMP" failed to load/unload and is being skipped due to error:
ORA-00904: "hh": invalid identifier