1. 程式人生 > >通過exp的query引數匯出部分記錄

通過exp的query引數匯出部分記錄

原文連結: http://www.anysql.net/oracle/exp_param_query.html
Oracle的exp工具有一個query引數可以指定一個where條件來有條件地匯出記錄, 對於不經常用這個選項的人來說, 經常會遇到這樣的錯誤:
LRM-00112: multiple values not allowed for parameter 'query'
EXP-00019: failed to process parameters, type 'EXP HELP=Y' for help
EXP-00000: Export terminated unsuccessfully
這是因為在where條件中一般都會有空格, 而命令列下就會被釋成幾個命令列引數, 需要用單引號或雙引號將整個where條件括起來, 就可以了. 在Windows下, 如何指定query引數:
exp ... query='where deptno=10′
exp ... query='where deptno="10"'
exp ... query='where deptno"<"10'
在Solaris(C shell)下, 如何指定query引數:
exp ..... query=\"where col1 \< 1000\"
exp ..... query=\"where col1 \< '1000′\"
其他Unix平臺的應當和Solaris下的一樣, 我自已也經常搞錯. 在上面的例子中已經說明了如何在query值中使用單引號, 因此在看完這篇後, 就應當可以寫出正確的where條件了. 最好是寫在一個引數檔案裡, 這樣的話就不用注意這些了.