oracle expdp 按條件導出


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM